time="2024-04-29T14:40:33Z" level=warning msg="/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/integration-test/docker-compose.yaml: `version` is obsolete" Container integration-test-authentication-1 Creating Container integration-test-experiment-1 Creating Container integration-test-authorization-1 Creating Container integration-test-gateway-1 Creating Container integration-test-federation-1 Creating Container integration-test-device-1 Creating Container integration-test-federation-1 Created Container integration-test-experiment-1 Created Container integration-test-device-1 Created Container integration-test-gateway-1 Created Container integration-test-authentication-1 Created Container integration-test-authorization-1 Created Attaching to authentication-1, authorization-1, device-1, experiment-1, federation-1, gateway-1 gateway-1 | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration gateway-1 | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh gateway-1 | 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf gateway-1 | 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf gateway-1 | /docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-create_config.sh gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/authorization_service.conf to /etc/nginx/authorization_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/nginx.conf to /etc/nginx/nginx.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/device_service.conf to /etc/nginx/device_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/experiment_service.conf to /etc/nginx/experiment_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/auth_service.conf to /etc/nginx/auth_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/federation_service.conf to /etc/nginx/federation_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_json_errors.conf to /etc/nginx/api_json_errors.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_backends.conf to /etc/nginx/api_backends.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_gateway.conf to /etc/nginx/api_gateway.conf gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh gateway-1 | /docker-entrypoint.sh: Configuration complete; ready for start up federation-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authentication-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} experiment-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authorization-1 | {"addrs":["localhost:3011"],"diagnostic-addrs":[],"level":"info","msg":"Initializing server.","subsystem":"opa","time":"2024-04-29T14:41:03Z"} federation-1 | {"level":"info","message":"Federation Service started successfully"} experiment-1 | {"level":"info","message":"Experiment Service started successfully"} device-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authentication-1 | {"level":"info","message":"Authentication Service started successfully"} device-1 | {"level":"info","message":"Device Service started successfully"} authorization-1 | {"client_addr":"127.0.0.1:41522","level":"info","msg":"Received request.","req_id":1,"req_method":"GET","req_path":"/","subsystem":"opa","time":"2024-04-29T14:41:03Z"} authorization-1 | {"client_addr":"127.0.0.1:41522","level":"info","msg":"Sent response.","req_id":1,"req_method":"GET","req_path":"/","resp_bytes":1424,"resp_duration":0.440164,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:03Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"๐Ÿงช experimental features enabled: []","subsystem":"openfga","timestamp":1714401664.0439355} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"using 'memory' storage engine","subsystem":"openfga","timestamp":1714401664.0439944} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"warn","message":"authentication is disabled","subsystem":"openfga","timestamp":1714401664.0440042} 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":1714401664.0440166} 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":1714401664.044028} 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":1714401664.0440574,"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":1714401664.044435} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"HTTP server listening on 'localhost:3013'...","subsystem":"openfga","timestamp":1714401664.0452902} 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:51468","raw_request":{"name":"crosslab"},"raw_response":{"created_at":"2024-04-29T14:41:04.061360266Z","id":"01HWN4TQ1X8ME2DAYQ9W75MG10","name":"crosslab","updated_at":"2024-04-29T14:41:04.061360266Z"},"request_id":"13750137-eaf5-4b35-9992-10c66f6ce00c","subsystem":"openfga","timestamp":1714401664.0614438} 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:51468","raw_request":{"schema_version":"1.1","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_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":"01HWN4TQ31YFYH2AKVZ8YV301N"},"request_id":"9bcb0be5-a1a9-42f2-ac21-15f00b7ba562","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401664.0977943} authorization-1 | {"client_addr":"127.0.0.1:41522","level":"info","msg":"Received request.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","subsystem":"opa","time":"2024-04-29T14:41:04Z"} authorization-1 | {"client_addr":"127.0.0.1:41522","level":"info","msg":"Sent response.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","resp_bytes":0,"resp_duration":0.230971,"resp_status":204,"subsystem":"opa","time":"2024-04-29T14:41:04Z"} authorization-1 | {"level":"info","message":"Authorization Service started successfully"} authorization-1 | {"current_version":"0.54.0","download_opa":"https://openpolicyagent.org/downloads/v0.64.1/opa_linux_amd64","latest_version":"0.64.1","level":"info","msg":"OPA is out of date.","release_notes":"https://github.com/open-policy-agent/opa/releases/tag/v0.64.1","subsystem":"opa","time":"2024-04-29T14:41:04Z"} gateway-1 | {"time_local":"29/Apr/2024:14:41:12 +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.028","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"38a07554bc5fcf5170e0bf8eb8d1ca8c"} authentication-1 | {"level":"info","message":"HEAD /auth/status 200 18ms","method":"HEAD","requestID":"38a07554bc5fcf5170e0bf8eb8d1ca8c","responseTime":18,"status":200,"url":"/auth/status"} gateway-1 | {"time_local":"29/Apr/2024:14:41:12 +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.019","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"4b2226b24db4ef951cf96bac98035e10"} device-1 | {"level":"info","message":"HEAD /device/status 200 13ms","method":"HEAD","requestID":"865d0b20-0636-11ef-8c83-05b823ec2e4f","responseTime":13,"status":200,"url":"/device/status"} gateway-1 | {"time_local":"29/Apr/2024:14:41:12 +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.015","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"ecb99c3562c79ac7298bca97d4e054a6"} authorization-1 | {"level":"info","message":"HEAD /authorization/status 200 6ms","meta":{"req":{"headers":{"accept":"*/*","connection":"close","host":"authorization_service","user-agent":"curl/7.81.0","x-request-id":"ecb99c3562c79ac7298bca97d4e054a6"},"httpVersion":"1.0","method":"HEAD","originalUrl":"/authorization/status","query":{},"url":"/authorization/status"},"res":{"statusCode":200},"responseTime":6}} gateway-1 | {"time_local":"29/Apr/2024:14:41:12 +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.019","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"6fa0b6fb6bfa832fb47fd4562ea899be"} federation-1 | {"level":"info","message":"HEAD /federation/status 200 13ms","method":"HEAD","requestID":"8664d350-0636-11ef-a0a6-d9b33abcaada","responseTime":13,"status":200,"url":"/federation/status"} gateway-1 | {"time_local":"29/Apr/2024:14:41:12 +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.015","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"a43c0b5d32640870a40df01147fb773c"} experiment-1 | {"level":"info","message":"HEAD /experiment/status 200 9ms","method":"HEAD","requestID":"8668a3e0-0636-11ef-91fb-c5a9bd381831","responseTime":9,"status":200,"url":"/experiment/status"} gateway-1 | {"time_local":"29/Apr/2024:14:41:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /login HTTP/1.1","status": "201","body_bytes_sent":"88","request_time":"0.154","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"94a40a963ba190acf4ac083a18de1018"} authentication-1 | {"level":"info","message":"POST /login 201 131ms","method":"POST","requestID":"94a40a963ba190acf4ac083a18de1018","responseTime":131,"status":201,"url":"/login"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY3NX0.QHsDM_4imj36lkHTlEGT1WFNYL_naPkK5KzPRSZAEwY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 23ms","method":"GET","requestID":"39f3aa165a3a86e42321721b20d388eb","responseTime":23,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:15Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.89194,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401675,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY3NX0.QHsDM_4imj36lkHTlEGT1WFNYL_naPkK5KzPRSZAEwY"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"39f3aa165a3a86e42321721b20d388eb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":31}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb01c74bf-78c2-4070-803d-379609c846dd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1be8733e-04a7-4491-8f87-48f45c97e62a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401675.8045435} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"39f3aa165a3a86e42321721b20d388eb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7c1fc5e4-718e-47c7-a20a-8733effa8912","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401675.8194127} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"39f3aa165a3a86e42321721b20d388eb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb01c74bf-78c2-4070-803d-379609c846dd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"dc3a0434-2210-4a19-8990-975b69f18e50","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401675.8359103} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3f1e3f29-d1e2-46a8-93f7-d645478056ee","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401675.8365345} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"39f3aa165a3a86e42321721b20d388eb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb01c74bf-78c2-4070-803d-379609c846dd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb01c74bf-78c2-4070-803d-379609c846dd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:15.835885772Z"}]},"request_id":"116be275-625b-482f-a03e-49ce81512eb1","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401675.8449743} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"39f3aa165a3a86e42321721b20d388eb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.304","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"39f3aa165a3a86e42321721b20d388eb"} device-1 | {"level":"info","message":"POST /devices? 201 258ms","method":"POST","requestID":"39f3aa165a3a86e42321721b20d388eb","responseTime":258,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY3NX0.QHsDM_4imj36lkHTlEGT1WFNYL_naPkK5KzPRSZAEwY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9dcad84e51014bf1b0a4f94fe9e41542","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:15Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.148473,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401675,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY3NX0.QHsDM_4imj36lkHTlEGT1WFNYL_naPkK5KzPRSZAEwY"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9dcad84e51014bf1b0a4f94fe9e41542"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdef03bb1-1400-4b9d-a51a-71d3c8e053fb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"046f65b1-0968-4c27-ab90-8e88edcb5803","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401675.9275448} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9dcad84e51014bf1b0a4f94fe9e41542"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1e67ca6f-28f2-4920-b475-fa24149108f4","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401675.9432325} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9dcad84e51014bf1b0a4f94fe9e41542"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdef03bb1-1400-4b9d-a51a-71d3c8e053fb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"63830cec-15f1-45e1-90a8-542d5c2b0b5f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401675.960925} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"966db7c4-b773-45e6-82cc-09127ff4747a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401675.9612963} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9dcad84e51014bf1b0a4f94fe9e41542"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":22}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdef03bb1-1400-4b9d-a51a-71d3c8e053fb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdef03bb1-1400-4b9d-a51a-71d3c8e053fb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:15.960911604Z"}]},"request_id":"57ff7cb2-d8f9-401b-846f-874aa5136131","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401675.9725323} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9dcad84e51014bf1b0a4f94fe9e41542"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.104","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9dcad84e51014bf1b0a4f94fe9e41542"} device-1 | {"level":"info","message":"POST /devices? 201 97ms","method":"POST","requestID":"9dcad84e51014bf1b0a4f94fe9e41542","responseTime":97,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"51acadeb0a1215ed618f09b5a53221de","responseTime":3,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"390fa7aa419136be3ee31c5f3400c809","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2024:14:41:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.010","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"51acadeb0a1215ed618f09b5a53221de"} device-1 | {"level":"info","message":"OPTIONS /devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb/websocket 200 2ms","method":"OPTIONS","requestID":"51acadeb0a1215ed618f09b5a53221de","responseTime":2,"status":200,"url":"/devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb/websocket"} gateway-1 | {"time_local":"29/Apr/2024:14:41:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b01c74bf-78c2-4070-803d-379609c846dd/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.014","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"390fa7aa419136be3ee31c5f3400c809"} device-1 | {"level":"info","message":"OPTIONS /devices/b01c74bf-78c2-4070-803d-379609c846dd/websocket 200 1ms","method":"OPTIONS","requestID":"390fa7aa419136be3ee31c5f3400c809","responseTime":1,"status":200,"url":"/devices/b01c74bf-78c2-4070-803d-379609c846dd/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY3OH0.Wsp4aRY-zR2pcUjcaujOdappJ7WZwfXDno3lkMLa8hw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 12ms","method":"GET","requestID":"9cd4875addf1bfd5f9da89c491fc0cf7","responseTime":12,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY3OH0.Wsp4aRY-zR2pcUjcaujOdappJ7WZwfXDno3lkMLa8hw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 10ms","method":"GET","requestID":"0890cc6a5ad625e469a3d3a461463e28","responseTime":11,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:18Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.098592,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:18Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401678,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY3OH0.Wsp4aRY-zR2pcUjcaujOdappJ7WZwfXDno3lkMLa8hw"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9cd4875addf1bfd5f9da89c491fc0cf7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:18Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.530662,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:18Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b01c74bf-78c2-4070-803d-379609c846dd","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/b01c74bf-78c2-4070-803d-379609c846dd","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401678,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY3OH0.Wsp4aRY-zR2pcUjcaujOdappJ7WZwfXDno3lkMLa8hw"} authorization-1 | {"level":"info","message":"POST /authorize 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0890cc6a5ad625e469a3d3a461463e28"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":16}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b01c74bf-78c2-4070-803d-379609c846dd/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.075","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0890cc6a5ad625e469a3d3a461463e28"} device-1 | {"level":"info","message":"POST /devices/b01c74bf-78c2-4070-803d-379609c846dd/websocket 200 56ms","method":"POST","requestID":"0890cc6a5ad625e469a3d3a461463e28","responseTime":56,"status":200,"url":"/devices/b01c74bf-78c2-4070-803d-379609c846dd/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb/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":"9cd4875addf1bfd5f9da89c491fc0cf7"} device-1 | {"level":"info","message":"POST /devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb/websocket 200 76ms","method":"POST","requestID":"9cd4875addf1bfd5f9da89c491fc0cf7","responseTime":76,"status":200,"url":"/devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b01c74bf-78c2-4070-803d-379609c846dd' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY3OH0.Wsp4aRY-zR2pcUjcaujOdappJ7WZwfXDno3lkMLa8hw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"a8ab98464cc7fce38b1d1f17bda55441","responseTime":8,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:18Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.360585,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b01c74bf-78c2-4070-803d-379609c846dd","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/b01c74bf-78c2-4070-803d-379609c846dd","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401678,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY3OH0.Wsp4aRY-zR2pcUjcaujOdappJ7WZwfXDno3lkMLa8hw"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a8ab98464cc7fce38b1d1f17bda55441"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb01c74bf-78c2-4070-803d-379609c846dd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb01c74bf-78c2-4070-803d-379609c846dd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:15.835885772Z"}]},"request_id":"79e06adf-63ad-4017-89cc-4d38703b35ed","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401678.3934119} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a8ab98464cc7fce38b1d1f17bda55441"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b01c74bf-78c2-4070-803d-379609c846dd? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a8ab98464cc7fce38b1d1f17bda55441"} device-1 | {"level":"info","message":"GET /devices/b01c74bf-78c2-4070-803d-379609c846dd? 200 47ms","method":"GET","requestID":"a8ab98464cc7fce38b1d1f17bda55441","responseTime":47,"status":200,"url":"/devices/b01c74bf-78c2-4070-803d-379609c846dd?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY3OH0.Wsp4aRY-zR2pcUjcaujOdappJ7WZwfXDno3lkMLa8hw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"04d4ea77d3f06a6cc738f1e7190fa345","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:18Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.260139,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401678,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY3OH0.Wsp4aRY-zR2pcUjcaujOdappJ7WZwfXDno3lkMLa8hw"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"04d4ea77d3f06a6cc738f1e7190fa345"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdef03bb1-1400-4b9d-a51a-71d3c8e053fb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdef03bb1-1400-4b9d-a51a-71d3c8e053fb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:15.960911604Z"}]},"request_id":"dccd8f33-0cc1-406e-aa6c-8d98ef452cc7","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401678.452265} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"04d4ea77d3f06a6cc738f1e7190fa345"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb? 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":"04d4ea77d3f06a6cc738f1e7190fa345"} device-1 | {"level":"info","message":"GET /devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb? 200 34ms","method":"GET","requestID":"04d4ea77d3f06a6cc738f1e7190fa345","responseTime":34,"status":200,"url":"/devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY3OH0.Wsp4aRY-zR2pcUjcaujOdappJ7WZwfXDno3lkMLa8hw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"561c73f0d3349cccd12fc421311b8ca1","responseTime":7,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:18Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.242506,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:18Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401678,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY3OH0.Wsp4aRY-zR2pcUjcaujOdappJ7WZwfXDno3lkMLa8hw"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"561c73f0d3349cccd12fc421311b8ca1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d0141736-bd5f-4a0c-9e19-f4911fdb7c07"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d0141736-bd5f-4a0c-9e19-f4911fdb7c07"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d0141736-bd5f-4a0c-9e19-f4911fdb7c07"},"level":"info","message":"Successfully booked experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:18Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.398311,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:18Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b01c74bf-78c2-4070-803d-379609c846dd","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/b01c74bf-78c2-4070-803d-379609c846dd","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401678,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY3OH0.Wsp4aRY-zR2pcUjcaujOdappJ7WZwfXDno3lkMLa8hw"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a1cd240-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.835657,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401678,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY3OH0.Wsp4aRY-zR2pcUjcaujOdappJ7WZwfXDno3lkMLa8hw"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a1d2060-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb01c74bf-78c2-4070-803d-379609c846dd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb01c74bf-78c2-4070-803d-379609c846dd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:15.835885772Z"}]},"request_id":"98f2ead7-ab9e-4a82-a492-abe546d59b2d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401678.7065268} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a1cd240-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdef03bb1-1400-4b9d-a51a-71d3c8e053fb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdef03bb1-1400-4b9d-a51a-71d3c8e053fb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:15.960911604Z"}]},"request_id":"e7b6347f-b661-45e0-b48e-c9875b9cd930","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401678.708094} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a1d2060-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/b01c74bf-78c2-4070-803d-379609c846dd? 200 28ms","method":"GET","requestID":"8a1cd240-0636-11ef-8c83-05b823ec2e4f","responseTime":28,"status":200,"url":"/devices/b01c74bf-78c2-4070-803d-379609c846dd?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb? 200 27ms","method":"GET","requestID":"8a1d2060-0636-11ef-8c83-05b823ec2e4f","responseTime":27,"status":200,"url":"/devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d0141736-bd5f-4a0c-9e19-f4911fdb7c07"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d0141736-bd5f-4a0c-9e19-f4911fdb7c07"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d0141736-bd5f-4a0c-9e19-f4911fdb7c07"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d0141736-bd5f-4a0c-9e19-f4911fdb7c07"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d0141736-bd5f-4a0c-9e19-f4911fdb7c07"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d0141736-bd5f-4a0c-9e19-f4911fdb7c07"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d0141736-bd5f-4a0c-9e19-f4911fdb7c07"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d0141736-bd5f-4a0c-9e19-f4911fdb7c07"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d0141736-bd5f-4a0c-9e19-f4911fdb7c07"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:18Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.915754,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:18Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:18Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b01c74bf-78c2-4070-803d-379609c846dd","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/b01c74bf-78c2-4070-803d-379609c846dd","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401678,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY3OH0.Wsp4aRY-zR2pcUjcaujOdappJ7WZwfXDno3lkMLa8hw"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a31b9d0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.036871,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401678,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY3OH0.Wsp4aRY-zR2pcUjcaujOdappJ7WZwfXDno3lkMLa8hw"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a322f00-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:18Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb01c74bf-78c2-4070-803d-379609c846dd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4cf2aee2-5693-4683-89d6-2194d00030c1","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401678.8569775} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.804858,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:18Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdef03bb1-1400-4b9d-a51a-71d3c8e053fb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdef03bb1-1400-4b9d-a51a-71d3c8e053fb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:15.960911604Z"}]},"request_id":"8d943a12-b67b-4d0f-aa9f-67f2fe4be5f1","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401678.8585954} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b01c74bf-78c2-4070-803d-379609c846dd","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b01c74bf-78c2-4070-803d-379609c846dd","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a327d20-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":15}} authorization-1 | {"level":"info","message":"POST /relations/query 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a322f00-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb01c74bf-78c2-4070-803d-379609c846dd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb01c74bf-78c2-4070-803d-379609c846dd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:15.835885772Z"}]},"request_id":"0d5baa26-ae56-4da1-a9fa-ff61f8a3fd82","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401678.8628247} authorization-1 | {"level":"info","message":"POST /relations/query 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a31b9d0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd0141736-bd5f-4a0c-9e19-f4911fdb7c07#owner@http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd0141736-bd5f-4a0c-9e19-f4911fdb7c07","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"d5c0ac6e-b3f1-4c7f-a901-9a7714bcbcc3","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401678.8739152} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8744dd02-ac9a-4222-9498-0f8709815eca","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401678.8741634} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b01c74bf-78c2-4070-803d-379609c846dd/signaling 200 42ms","method":"POST","requestID":"8a327d20-0636-11ef-8c83-05b823ec2e4f","responseTime":42,"status":200,"url":"/devices/b01c74bf-78c2-4070-803d-379609c846dd/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb? 200 46ms","method":"GET","requestID":"8a322f00-0636-11ef-8c83-05b823ec2e4f","responseTime":46,"status":200,"url":"/devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/b01c74bf-78c2-4070-803d-379609c846dd? 200 51ms","method":"GET","requestID":"8a31b9d0-0636-11ef-8c83-05b823ec2e4f","responseTime":51,"status":200,"url":"/devices/b01c74bf-78c2-4070-803d-379609c846dd?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"561c73f0d3349cccd12fc421311b8ca1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":36}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:18Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdef03bb1-1400-4b9d-a51a-71d3c8e053fb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cdadc595-5dbf-4e35-ba5e-086b169bace6","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401678.8903205} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.960575,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:18Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a39d020-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.55685,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:18Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/d0141736-bd5f-4a0c-9e19-f4911fdb7c07","user":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb01c74bf-78c2-4070-803d-379609c846dd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3d081fc6-eccf-4e6c-a916-cd8d35b42aee","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401678.8969746} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b01c74bf-78c2-4070-803d-379609c846dd","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b01c74bf-78c2-4070-803d-379609c846dd","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"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a3aba80-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} device-1 | {"level":"info","message":"POST /devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb/signaling 200 22ms","method":"POST","requestID":"8a39d020-0636-11ef-8c83-05b823ec2e4f","responseTime":22,"status":200,"url":"/devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb/signaling"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.434","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"561c73f0d3349cccd12fc421311b8ca1"} experiment-1 | {"level":"info","message":"POST /experiments? 201 408ms","method":"POST","requestID":"561c73f0d3349cccd12fc421311b8ca1","responseTime":408,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b01c74bf-78c2-4070-803d-379609c846dd/signaling 200 21ms","method":"POST","requestID":"8a3aba80-0636-11ef-8c83-05b823ec2e4f","responseTime":21,"status":200,"url":"/devices/b01c74bf-78c2-4070-803d-379609c846dd/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY3OH0.Wsp4aRY-zR2pcUjcaujOdappJ7WZwfXDno3lkMLa8hw","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"11f4e6b83c053b78cf38be268cf52517","responseTime":6,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:18Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:18Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdef03bb1-1400-4b9d-a51a-71d3c8e053fb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c5560d25-7770-449f-adb3-cf8c9639d8ef","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401678.9210868} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.627792,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:18Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.004989,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a3eb220-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b01c74bf-78c2-4070-803d-379609c846dd","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/b01c74bf-78c2-4070-803d-379609c846dd","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401678,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY3OH0.Wsp4aRY-zR2pcUjcaujOdappJ7WZwfXDno3lkMLa8hw"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"11f4e6b83c053b78cf38be268cf52517"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb/signaling 200 16ms","method":"POST","requestID":"8a3eb220-0636-11ef-8c83-05b823ec2e4f","responseTime":16,"status":200,"url":"/devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d0141736-bd5f-4a0c-9e19-f4911fdb7c07"},"level":"info","message":"Attempting to create peerconnections for experiment"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb01c74bf-78c2-4070-803d-379609c846dd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb01c74bf-78c2-4070-803d-379609c846dd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:15.835885772Z"}]},"request_id":"b8de3bbd-02b3-42e2-ae86-f5b5c378236d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401678.9326286} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d0141736-bd5f-4a0c-9e19-f4911fdb7c07"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"e8d74852-e016-4b1d-89e0-bd9fa8c6de4f"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"d264e089-22bb-4864-a313-87aacd79cae8"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"37480b0e-1a2f-4173-823b-337d5fc536ba"}]},"level":"info","message":"Built pairwise service configurations"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"11f4e6b83c053b78cf38be268cf52517"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/b01c74bf-78c2-4070-803d-379609c846dd"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b01c74bf-78c2-4070-803d-379609c846dd? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"11f4e6b83c053b78cf38be268cf52517"} device-1 | {"level":"info","message":"GET /devices/b01c74bf-78c2-4070-803d-379609c846dd? 200 20ms","method":"GET","requestID":"11f4e6b83c053b78cf38be268cf52517","responseTime":20,"status":200,"url":"/devices/b01c74bf-78c2-4070-803d-379609c846dd?"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY3OH0.Wsp4aRY-zR2pcUjcaujOdappJ7WZwfXDno3lkMLa8hw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6ecd4a4d837cb050e560d64245579b7b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:18Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.226196,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:18Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401678,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY3OH0.Wsp4aRY-zR2pcUjcaujOdappJ7WZwfXDno3lkMLa8hw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a42d0d0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:18Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.739694,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401678,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY3OH0.Wsp4aRY-zR2pcUjcaujOdappJ7WZwfXDno3lkMLa8hw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6ecd4a4d837cb050e560d64245579b7b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdef03bb1-1400-4b9d-a51a-71d3c8e053fb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdef03bb1-1400-4b9d-a51a-71d3c8e053fb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:15.960911604Z"}]},"request_id":"7404f96e-3265-45b2-bb05-dd611d3a70be","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401678.9559944} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6ecd4a4d837cb050e560d64245579b7b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6ecd4a4d837cb050e560d64245579b7b"} device-1 | {"level":"info","message":"GET /devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb? 200 15ms","method":"GET","requestID":"6ecd4a4d837cb050e560d64245579b7b","responseTime":15,"status":200,"url":"/devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb?"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","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%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"6ac965c2-d35b-412d-8f83-755e95fbaa32","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401678.9713297} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2b145816-d7a5-4457-98ad-ea77a09c3a71","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401678.9714968} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a42d0d0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/314a5bd7-a859-41be-8316-aeed97851fa1'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/314a5bd7-a859-41be-8316-aeed97851fa1'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} 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":"8a42d0d0-0636-11ef-8c83-05b823ec2e4f","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"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d0141736-bd5f-4a0c-9e19-f4911fdb7c07"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:19Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb01c74bf-78c2-4070-803d-379609c846dd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d4679f92-a475-4a81-929a-bf95cadce35f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401679.028342} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.419727,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b01c74bf-78c2-4070-803d-379609c846dd","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b01c74bf-78c2-4070-803d-379609c846dd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a4f53f0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b01c74bf-78c2-4070-803d-379609c846dd/signaling 200 11ms","method":"POST","requestID":"8a4f53f0-0636-11ef-8c83-05b823ec2e4f","responseTime":11,"status":200,"url":"/devices/b01c74bf-78c2-4070-803d-379609c846dd/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:19Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdef03bb1-1400-4b9d-a51a-71d3c8e053fb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"43c48c07-2f71-494a-a995-20fbc43dc623","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401679.0438836} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.712569,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a519de0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb/signaling 200 11ms","method":"POST","requestID":"8a519de0-0636-11ef-8c83-05b823ec2e4f","responseTime":11,"status":200,"url":"/devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb/signaling"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/314a5bd7-a859-41be-8316-aeed97851fa1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"314a5bd7-a859-41be-8316-aeed97851fa1","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"1201f27b4ef1e2bd34e7d3db81f20b4e","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/b01c74bf-78c2-4070-803d-379609c846dd"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/314a5bd7-a859-41be-8316-aeed97851fa1"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"314a5bd7-a859-41be-8316-aeed97851fa1","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 25ms","method":"POST","requestID":"1201f27b4ef1e2bd34e7d3db81f20b4e","responseTime":25,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.032","http_referrer":"","http_user_agent":"node-fetch","requestID":"1201f27b4ef1e2bd34e7d3db81f20b4e"} device-1 | {"data":{"peerconnection":"314a5bd7-a859-41be-8316-aeed97851fa1","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/314a5bd7-a859-41be-8316-aeed97851fa1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"314a5bd7-a859-41be-8316-aeed97851fa1","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"43bb7b00245c61f254a7434aa2878db3","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/def03bb1-1400-4b9d-a51a-71d3c8e053fb"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b01c74bf-78c2-4070-803d-379609c846dd"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/314a5bd7-a859-41be-8316-aeed97851fa1"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:19Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F314a5bd7-a859-41be-8316-aeed97851fa1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7e0efe27-ed7b-4a5d-94c1-894be9456390","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401679.305992} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.280488,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/314a5bd7-a859-41be-8316-aeed97851fa1","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/314a5bd7-a859-41be-8316-aeed97851fa1","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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a797130-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/314a5bd7-a859-41be-8316-aeed97851fa1 200 13ms","method":"GET","requestID":"8a797130-0636-11ef-8c83-05b823ec2e4f","responseTime":14,"status":200,"url":"/peerconnections/314a5bd7-a859-41be-8316-aeed97851fa1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 45ms","method":"POST","requestID":"43bb7b00245c61f254a7434aa2878db3","responseTime":45,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.048","http_referrer":"","http_user_agent":"node-fetch","requestID":"43bb7b00245c61f254a7434aa2878db3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:19Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdef03bb1-1400-4b9d-a51a-71d3c8e053fb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4ad6b783-fc61-4158-9b2b-059c4476f91f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401679.3430634} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.201218,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a7f3d90-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb/signaling 200 13ms","method":"POST","requestID":"8a7f3d90-0636-11ef-8c83-05b823ec2e4f","responseTime":13,"status":200,"url":"/devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:19Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb01c74bf-78c2-4070-803d-379609c846dd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"70ce9379-9a9d-4260-acd8-e5cabf9619df","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401679.3621218} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.564822,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b01c74bf-78c2-4070-803d-379609c846dd","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b01c74bf-78c2-4070-803d-379609c846dd","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a81fcb0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b01c74bf-78c2-4070-803d-379609c846dd/signaling 200 15ms","method":"POST","requestID":"8a81fcb0-0636-11ef-8c83-05b823ec2e4f","responseTime":15,"status":200,"url":"/devices/b01c74bf-78c2-4070-803d-379609c846dd/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY3OX0.f6IrRZVaJ4659jx-79h69LkkQFJ8KqDk3QQ0bYg2-rA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"dc716e6bfec5d8ba56ab164c3502c533","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/d0141736-bd5f-4a0c-9e19-f4911fdb7c07"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:19Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.733829,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d0141736-bd5f-4a0c-9e19-f4911fdb7c07","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/d0141736-bd5f-4a0c-9e19-f4911fdb7c07","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401679,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY3OX0.f6IrRZVaJ4659jx-79h69LkkQFJ8KqDk3QQ0bYg2-rA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc716e6bfec5d8ba56ab164c3502c533"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/d0141736-bd5f-4a0c-9e19-f4911fdb7c07"} gateway-1 | {"time_local":"29/Apr/2024:14:41:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/d0141736-bd5f-4a0c-9e19-f4911fdb7c07 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dc716e6bfec5d8ba56ab164c3502c533"} experiment-1 | {"level":"info","message":"GET /experiments/d0141736-bd5f-4a0c-9e19-f4911fdb7c07 200 25ms","method":"GET","requestID":"dc716e6bfec5d8ba56ab164c3502c533","responseTime":25,"status":200,"url":"/experiments/d0141736-bd5f-4a0c-9e19-f4911fdb7c07"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY3OX0.f6IrRZVaJ4659jx-79h69LkkQFJ8KqDk3QQ0bYg2-rA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"80d636ea138e124fbab7e08766a49822","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/d0141736-bd5f-4a0c-9e19-f4911fdb7c07"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:19Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.90823,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:19Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d0141736-bd5f-4a0c-9e19-f4911fdb7c07","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/d0141736-bd5f-4a0c-9e19-f4911fdb7c07","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401679,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY3OX0.f6IrRZVaJ4659jx-79h69LkkQFJ8KqDk3QQ0bYg2-rA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"80d636ea138e124fbab7e08766a49822"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d0141736-bd5f-4a0c-9e19-f4911fdb7c07"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:19Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.754804,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:19Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/314a5bd7-a859-41be-8316-aeed97851fa1","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:http://localhost/peerconnections/314a5bd7-a859-41be-8316-aeed97851fa1","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401679,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY3OX0.f6IrRZVaJ4659jx-79h69LkkQFJ8KqDk3QQ0bYg2-rA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a8e58c0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/314a5bd7-a859-41be-8316-aeed97851fa1' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/314a5bd7-a859-41be-8316-aeed97851fa1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"314a5bd7-a859-41be-8316-aeed97851fa1","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"daa630a56f229fcd8dd4b5fb2c4c30ac","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b01c74bf-78c2-4070-803d-379609c846dd"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/314a5bd7-a859-41be-8316-aeed97851fa1"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"c14ad23a91b7c519e29d392653497307","responseTime":2,"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/def03bb1-1400-4b9d-a51a-71d3c8e053fb"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b01c74bf-78c2-4070-803d-379609c846dd"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/314a5bd7-a859-41be-8316-aeed97851fa1"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F314a5bd7-a859-41be-8316-aeed97851fa1': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F314a5bd7-a859-41be-8316-aeed97851fa1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"3f08afb1-3548-427d-92e9-3f59feb5e53d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401679.4771025} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"84cd25c0-a919-4f92-91ee-1e56fca4debc","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401679.4774466} authorization-1 | {"level":"info","message":"POST /relations/update 200 24ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a8e58c0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":24}} device-1 | {"data":{"peerconnection":"314a5bd7-a859-41be-8316-aeed97851fa1","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/314a5bd7-a859-41be-8316-aeed97851fa1 204 70ms","method":"DELETE","requestID":"8a8e58c0-0636-11ef-8c83-05b823ec2e4f","responseTime":70,"status":204,"url":"/peerconnections/314a5bd7-a859-41be-8316-aeed97851fa1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d0141736-bd5f-4a0c-9e19-f4911fdb7c07"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:19Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdef03bb1-1400-4b9d-a51a-71d3c8e053fb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"33ffd3cf-73d0-417a-abf7-fd517c8a009e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401679.5478706} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.738401,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a9e1030-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb/signaling 200 18ms","method":"POST","requestID":"8a9e1030-0636-11ef-8c83-05b823ec2e4f","responseTime":18,"status":200,"url":"/devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd0141736-bd5f-4a0c-9e19-f4911fdb7c07': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd0141736-bd5f-4a0c-9e19-f4911fdb7c07","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"985d4bb7-8db9-4542-ada0-31e4e85da10d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401679.568018} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"40b487c7-db24-4798-aa3b-18b75fddb5f1","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401679.568354} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"80d636ea138e124fbab7e08766a49822"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":35}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb01c74bf-78c2-4070-803d-379609c846dd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"16bea57b-4abd-44d3-b758-01ed4a3e1ffb","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401679.572697} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:19Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.729637,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b01c74bf-78c2-4070-803d-379609c846dd","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b01c74bf-78c2-4070-803d-379609c846dd","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8aa192a0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b01c74bf-78c2-4070-803d-379609c846dd/signaling 200 22ms","method":"POST","requestID":"8aa192a0-0636-11ef-8c83-05b823ec2e4f","responseTime":22,"status":200,"url":"/devices/b01c74bf-78c2-4070-803d-379609c846dd/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/d0141736-bd5f-4a0c-9e19-f4911fdb7c07"} gateway-1 | {"time_local":"29/Apr/2024:14:41:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/d0141736-bd5f-4a0c-9e19-f4911fdb7c07 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":"80d636ea138e124fbab7e08766a49822"} experiment-1 | {"level":"info","message":"DELETE /experiments/d0141736-bd5f-4a0c-9e19-f4911fdb7c07 204 236ms","method":"DELETE","requestID":"80d636ea138e124fbab7e08766a49822","responseTime":236,"status":204,"url":"/experiments/d0141736-bd5f-4a0c-9e19-f4911fdb7c07"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 189ms","method":"POST","requestID":"daa630a56f229fcd8dd4b5fb2c4c30ac","responseTime":189,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.193","http_referrer":"","http_user_agent":"node-fetch","requestID":"daa630a56f229fcd8dd4b5fb2c4c30ac"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY3OX0.f6IrRZVaJ4659jx-79h69LkkQFJ8KqDk3QQ0bYg2-rA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f94de34ed49e70306a0e099aa5627242","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 187ms","method":"POST","requestID":"c14ad23a91b7c519e29d392653497307","responseTime":187,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.195","http_referrer":"","http_user_agent":"node-fetch","requestID":"c14ad23a91b7c519e29d392653497307"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"29/Apr/2024:14:41:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2060","request_time":"1.340","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"97ccf99ff25f8f0fb499e149bb26d7f7"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:19Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.928187,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:19Z"} gateway-1 | {"time_local":"29/Apr/2024:14:41:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2197","request_time":"1.336","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e230db67c2f05780bacd4a4c4f54c2cb"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401679,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY3OX0.f6IrRZVaJ4659jx-79h69LkkQFJ8KqDk3QQ0bYg2-rA"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f94de34ed49e70306a0e099aa5627242"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b01c74bf-78c2-4070-803d-379609c846dd' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/def03bb1-1400-4b9d-a51a-71d3c8e053fb' 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:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33e6ca70-ae1f-413d-9951-266a59608cc5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4ca1537a-19d0-4600-945f-7c8ded9cb634","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401679.6860785} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f94de34ed49e70306a0e099aa5627242"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"87367f28-e969-460e-9f2d-eb3cdd835ac0","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401679.692316} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f94de34ed49e70306a0e099aa5627242"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33e6ca70-ae1f-413d-9951-266a59608cc5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"33b586c2-e8e4-4844-9e41-dbace84db78d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401679.7055175} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"181b3b0d-7fc3-4fa1-8a02-66bf2e0d3ac5","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401679.7056115} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f94de34ed49e70306a0e099aa5627242"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33e6ca70-ae1f-413d-9951-266a59608cc5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33e6ca70-ae1f-413d-9951-266a59608cc5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:19.705503988Z"}]},"request_id":"e1c50120-76a7-4d15-91fb-731fe6956f61","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401679.7114248} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f94de34ed49e70306a0e099aa5627242"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.061","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f94de34ed49e70306a0e099aa5627242"} device-1 | {"level":"info","message":"POST /devices? 201 55ms","method":"POST","requestID":"f94de34ed49e70306a0e099aa5627242","responseTime":55,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY3OX0.f6IrRZVaJ4659jx-79h69LkkQFJ8KqDk3QQ0bYg2-rA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a2914dc1cbaa8415a0eef874cca55713","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:19Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.71523,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:19Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401679,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY3OX0.f6IrRZVaJ4659jx-79h69LkkQFJ8KqDk3QQ0bYg2-rA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a2914dc1cbaa8415a0eef874cca55713"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F964b289e-42d1-423c-9737-67100bc4ec00","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ecbc9899-3326-47c9-a816-8bdf90e18665","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401679.7411578} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a2914dc1cbaa8415a0eef874cca55713"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"199a0cc8-756a-4c25-b602-b0105be8c48d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401679.7467935} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a2914dc1cbaa8415a0eef874cca55713"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F964b289e-42d1-423c-9737-67100bc4ec00","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"253ce1bc-4fe6-40d0-bda2-fcda8da6feae","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401679.756716} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f51d7593-3d51-4fba-ab71-a02b67a6dd1a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401679.756931} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a2914dc1cbaa8415a0eef874cca55713"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F964b289e-42d1-423c-9737-67100bc4ec00","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F964b289e-42d1-423c-9737-67100bc4ec00","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:19.756702168Z"}]},"request_id":"041f40ca-d6b2-4938-82cd-9b447e7d4a33","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401679.7629435} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a2914dc1cbaa8415a0eef874cca55713"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a2914dc1cbaa8415a0eef874cca55713"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"a2914dc1cbaa8415a0eef874cca55713","responseTime":42,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4MH0.3HWWbpydj9GnSR0HW7qX6P1KvOKjr0Ua-zsm8hoDk9w","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"5adefcceacad20d83a71beeaaab13979","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:20Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.08143,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:20Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/964b289e-42d1-423c-9737-67100bc4ec00","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/964b289e-42d1-423c-9737-67100bc4ec00","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401680,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4MH0.3HWWbpydj9GnSR0HW7qX6P1KvOKjr0Ua-zsm8hoDk9w"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5adefcceacad20d83a71beeaaab13979"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F964b289e-42d1-423c-9737-67100bc4ec00","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F964b289e-42d1-423c-9737-67100bc4ec00","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:19.756702168Z"}]},"request_id":"0abfdd38-0bad-45a0-8b5a-6a55ed50b756","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401680.3557248} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5adefcceacad20d83a71beeaaab13979"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"73cca58f-d16a-45c2-b894-9e42d81890dc","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401680.3628025} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5adefcceacad20d83a71beeaaab13979"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F964b289e-42d1-423c-9737-67100bc4ec00","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F964b289e-42d1-423c-9737-67100bc4ec00","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:19.756702168Z"}]},"request_id":"325fd333-49fa-4525-9372-9d77decbf9cf","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401680.379547} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5adefcceacad20d83a71beeaaab13979"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/964b289e-42d1-423c-9737-67100bc4ec00 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.060","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"5adefcceacad20d83a71beeaaab13979"} device-1 | {"level":"info","message":"PATCH /devices/964b289e-42d1-423c-9737-67100bc4ec00 200 52ms","method":"PATCH","requestID":"5adefcceacad20d83a71beeaaab13979","responseTime":52,"status":200,"url":"/devices/964b289e-42d1-423c-9737-67100bc4ec00"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4MH0.3HWWbpydj9GnSR0HW7qX6P1KvOKjr0Ua-zsm8hoDk9w","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0b8c50ed4b781fd3aca165c43ccba678","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:20Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.042955,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:20Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/964b289e-42d1-423c-9737-67100bc4ec00","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/964b289e-42d1-423c-9737-67100bc4ec00","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401680,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4MH0.3HWWbpydj9GnSR0HW7qX6P1KvOKjr0Ua-zsm8hoDk9w"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0b8c50ed4b781fd3aca165c43ccba678"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/964b289e-42d1-423c-9737-67100bc4ec00/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.026","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"0b8c50ed4b781fd3aca165c43ccba678"} device-1 | {"level":"info","message":"POST /devices/964b289e-42d1-423c-9737-67100bc4ec00/websocket 200 20ms","method":"POST","requestID":"0b8c50ed4b781fd3aca165c43ccba678","responseTime":20,"status":200,"url":"/devices/964b289e-42d1-423c-9737-67100bc4ec00/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/964b289e-42d1-423c-9737-67100bc4ec00' connected"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3d8d24df6ace5407fa1b28db13193a09","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2024:14:41:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/33e6ca70-ae1f-413d-9951-266a59608cc5/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":"3d8d24df6ace5407fa1b28db13193a09"} device-1 | {"level":"info","message":"OPTIONS /devices/33e6ca70-ae1f-413d-9951-266a59608cc5/websocket 200 2ms","method":"OPTIONS","requestID":"3d8d24df6ace5407fa1b28db13193a09","responseTime":2,"status":200,"url":"/devices/33e6ca70-ae1f-413d-9951-266a59608cc5/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4MX0.p9vs8sll_3CQJ0P7HhSiikvv8v-4UpR8d2Bs1dwMG2E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"18973bf9444e70e150143d027211d749","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:21Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.36295,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/33e6ca70-ae1f-413d-9951-266a59608cc5","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/33e6ca70-ae1f-413d-9951-266a59608cc5","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401681,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4MX0.p9vs8sll_3CQJ0P7HhSiikvv8v-4UpR8d2Bs1dwMG2E"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"18973bf9444e70e150143d027211d749"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/33e6ca70-ae1f-413d-9951-266a59608cc5/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.041","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"18973bf9444e70e150143d027211d749"} device-1 | {"level":"info","message":"POST /devices/33e6ca70-ae1f-413d-9951-266a59608cc5/websocket 200 33ms","method":"POST","requestID":"18973bf9444e70e150143d027211d749","responseTime":33,"status":200,"url":"/devices/33e6ca70-ae1f-413d-9951-266a59608cc5/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/33e6ca70-ae1f-413d-9951-266a59608cc5' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4MX0.p9vs8sll_3CQJ0P7HhSiikvv8v-4UpR8d2Bs1dwMG2E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"6ebccd35adcfc0b079aff9b7ef22219b","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:21Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.220905,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/33e6ca70-ae1f-413d-9951-266a59608cc5","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/33e6ca70-ae1f-413d-9951-266a59608cc5","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401681,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4MX0.p9vs8sll_3CQJ0P7HhSiikvv8v-4UpR8d2Bs1dwMG2E"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6ebccd35adcfc0b079aff9b7ef22219b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33e6ca70-ae1f-413d-9951-266a59608cc5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33e6ca70-ae1f-413d-9951-266a59608cc5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:19.705503988Z"}]},"request_id":"f4d5cd6f-19db-4bc3-9fe5-1ce06a938384","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401681.8607135} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6ebccd35adcfc0b079aff9b7ef22219b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/33e6ca70-ae1f-413d-9951-266a59608cc5? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6ebccd35adcfc0b079aff9b7ef22219b"} device-1 | {"level":"info","message":"GET /devices/33e6ca70-ae1f-413d-9951-266a59608cc5? 200 22ms","method":"GET","requestID":"6ebccd35adcfc0b079aff9b7ef22219b","responseTime":22,"status":200,"url":"/devices/33e6ca70-ae1f-413d-9951-266a59608cc5?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4MX0.p9vs8sll_3CQJ0P7HhSiikvv8v-4UpR8d2Bs1dwMG2E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"0c2abf5b4911995a456d96754a2be977","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:21Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.219965,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/964b289e-42d1-423c-9737-67100bc4ec00","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/964b289e-42d1-423c-9737-67100bc4ec00","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401681,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4MX0.p9vs8sll_3CQJ0P7HhSiikvv8v-4UpR8d2Bs1dwMG2E"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0c2abf5b4911995a456d96754a2be977"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F964b289e-42d1-423c-9737-67100bc4ec00","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F964b289e-42d1-423c-9737-67100bc4ec00","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:19.756702168Z"}]},"request_id":"af876626-4cb0-40a7-bf8f-8b2b1f2c1325","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401681.8933268} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0c2abf5b4911995a456d96754a2be977"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/964b289e-42d1-423c-9737-67100bc4ec00? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0c2abf5b4911995a456d96754a2be977"} device-1 | {"level":"info","message":"GET /devices/964b289e-42d1-423c-9737-67100bc4ec00? 200 21ms","method":"GET","requestID":"0c2abf5b4911995a456d96754a2be977","responseTime":21,"status":200,"url":"/devices/964b289e-42d1-423c-9737-67100bc4ec00?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4MX0.p9vs8sll_3CQJ0P7HhSiikvv8v-4UpR8d2Bs1dwMG2E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"1ddde5091c48d140eb9808a2996222ae","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:21Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.264683,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401681,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4MX0.p9vs8sll_3CQJ0P7HhSiikvv8v-4UpR8d2Bs1dwMG2E"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1ddde5091c48d140eb9808a2996222ae"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/34025489-2df7-4aff-b653-5bde960f301a"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/34025489-2df7-4aff-b653-5bde960f301a"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/34025489-2df7-4aff-b653-5bde960f301a"},"level":"info","message":"Successfully booked experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:21Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.261995,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/33e6ca70-ae1f-413d-9951-266a59608cc5","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/33e6ca70-ae1f-413d-9951-266a59608cc5","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401681,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4MX0.p9vs8sll_3CQJ0P7HhSiikvv8v-4UpR8d2Bs1dwMG2E"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8c121290-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:21Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.99072,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/964b289e-42d1-423c-9737-67100bc4ec00","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/964b289e-42d1-423c-9737-67100bc4ec00","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401681,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4MX0.p9vs8sll_3CQJ0P7HhSiikvv8v-4UpR8d2Bs1dwMG2E"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8c1287c0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33e6ca70-ae1f-413d-9951-266a59608cc5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33e6ca70-ae1f-413d-9951-266a59608cc5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:19.705503988Z"}]},"request_id":"36a91afb-d65a-475a-9ccc-06a7e8de8d6f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401681.9927244} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8c121290-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F964b289e-42d1-423c-9737-67100bc4ec00","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F964b289e-42d1-423c-9737-67100bc4ec00","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:19.756702168Z"}]},"request_id":"55a24a62-cd5e-4789-b8af-c029f0ddf3be","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401681.994787} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8c1287c0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/33e6ca70-ae1f-413d-9951-266a59608cc5? 200 28ms","method":"GET","requestID":"8c121290-0636-11ef-8c83-05b823ec2e4f","responseTime":28,"status":200,"url":"/devices/33e6ca70-ae1f-413d-9951-266a59608cc5?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/964b289e-42d1-423c-9737-67100bc4ec00? 200 26ms","method":"GET","requestID":"8c1287c0-0636-11ef-8c83-05b823ec2e4f","responseTime":26,"status":200,"url":"/devices/964b289e-42d1-423c-9737-67100bc4ec00?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/34025489-2df7-4aff-b653-5bde960f301a"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/34025489-2df7-4aff-b653-5bde960f301a"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/34025489-2df7-4aff-b653-5bde960f301a"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/34025489-2df7-4aff-b653-5bde960f301a"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/34025489-2df7-4aff-b653-5bde960f301a"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/34025489-2df7-4aff-b653-5bde960f301a"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/34025489-2df7-4aff-b653-5bde960f301a"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/34025489-2df7-4aff-b653-5bde960f301a"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:22Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.597667,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:22Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/34025489-2df7-4aff-b653-5bde960f301a"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/33e6ca70-ae1f-413d-9951-266a59608cc5","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/33e6ca70-ae1f-413d-9951-266a59608cc5","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401681,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4MX0.p9vs8sll_3CQJ0P7HhSiikvv8v-4UpR8d2Bs1dwMG2E"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8c1f0ae0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:22Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.334223,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:22Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/964b289e-42d1-423c-9737-67100bc4ec00","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/964b289e-42d1-423c-9737-67100bc4ec00","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401681,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4MX0.p9vs8sll_3CQJ0P7HhSiikvv8v-4UpR8d2Bs1dwMG2E"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8c1f8010-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.282337,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:22Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33e6ca70-ae1f-413d-9951-266a59608cc5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6262ea43-e130-47ea-974b-764cd758d136","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401682.078332} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/33e6ca70-ae1f-413d-9951-266a59608cc5","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/33e6ca70-ae1f-413d-9951-266a59608cc5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8c201c50-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33e6ca70-ae1f-413d-9951-266a59608cc5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33e6ca70-ae1f-413d-9951-266a59608cc5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:19.705503988Z"}]},"request_id":"575a0f2e-b09e-44c2-99b0-4ded2ad97541","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401682.0844088} authorization-1 | {"level":"info","message":"POST /relations/query 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8c1f0ae0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F964b289e-42d1-423c-9737-67100bc4ec00","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F964b289e-42d1-423c-9737-67100bc4ec00","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:19.756702168Z"}]},"request_id":"93f40227-611d-49ce-9aa1-5ea16735da2a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401682.0903306} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8c1f8010-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/33e6ca70-ae1f-413d-9951-266a59608cc5/signaling 200 27ms","method":"POST","requestID":"8c201c50-0636-11ef-8c83-05b823ec2e4f","responseTime":27,"status":200,"url":"/devices/33e6ca70-ae1f-413d-9951-266a59608cc5/signaling"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F34025489-2df7-4aff-b653-5bde960f301a#owner@http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F34025489-2df7-4aff-b653-5bde960f301a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"3a148aca-16a8-4b90-856c-dec2f6fea299","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401682.0985043} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bef46033-887a-47a7-8515-138668459db3","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401682.0985441} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1ddde5091c48d140eb9808a2996222ae"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":29}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/33e6ca70-ae1f-413d-9951-266a59608cc5? 200 48ms","method":"GET","requestID":"8c1f0ae0-0636-11ef-8c83-05b823ec2e4f","responseTime":48,"status":200,"url":"/devices/33e6ca70-ae1f-413d-9951-266a59608cc5?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:22Z"} device-1 | {"level":"info","message":"GET /devices/964b289e-42d1-423c-9737-67100bc4ec00? 200 47ms","method":"GET","requestID":"8c1f8010-0636-11ef-8c83-05b823ec2e4f","responseTime":47,"status":200,"url":"/devices/964b289e-42d1-423c-9737-67100bc4ec00?"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F964b289e-42d1-423c-9737-67100bc4ec00","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b4478de9-3278-46ab-9ca9-ff041966962a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401682.113634} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.929844,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/964b289e-42d1-423c-9737-67100bc4ec00","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/964b289e-42d1-423c-9737-67100bc4ec00","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8c260fc0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/34025489-2df7-4aff-b653-5bde960f301a","user":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"29/Apr/2024:14:41:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.214","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1ddde5091c48d140eb9808a2996222ae"} experiment-1 | {"level":"info","message":"POST /experiments? 201 207ms","method":"POST","requestID":"1ddde5091c48d140eb9808a2996222ae","responseTime":207,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/964b289e-42d1-423c-9737-67100bc4ec00/signaling 200 13ms","method":"POST","requestID":"8c260fc0-0636-11ef-8c83-05b823ec2e4f","responseTime":13,"status":200,"url":"/devices/964b289e-42d1-423c-9737-67100bc4ec00/signaling"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:22Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33e6ca70-ae1f-413d-9951-266a59608cc5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e9ab4374-d3d3-4b77-924c-33b15b135019","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401682.1231654} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.386409,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/33e6ca70-ae1f-413d-9951-266a59608cc5","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/33e6ca70-ae1f-413d-9951-266a59608cc5","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4Mn0.GC6BtKiHe_l7DIwgLnTW163eN7qYXV_oDyawAxdmbUE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7ca5736c22c920a9e4a7bbd03244af57","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8c279660-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/33e6ca70-ae1f-413d-9951-266a59608cc5/signaling 200 12ms","method":"POST","requestID":"8c279660-0636-11ef-8c83-05b823ec2e4f","responseTime":12,"status":200,"url":"/devices/33e6ca70-ae1f-413d-9951-266a59608cc5/signaling"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:22Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.752316,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/33e6ca70-ae1f-413d-9951-266a59608cc5","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/33e6ca70-ae1f-413d-9951-266a59608cc5","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401682,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4Mn0.GC6BtKiHe_l7DIwgLnTW163eN7qYXV_oDyawAxdmbUE"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7ca5736c22c920a9e4a7bbd03244af57"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:22Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.34288,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:22Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F964b289e-42d1-423c-9737-67100bc4ec00","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"655b8a1e-46b2-4281-8047-10386044f5b3","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401682.1372833} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/964b289e-42d1-423c-9737-67100bc4ec00","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/964b289e-42d1-423c-9737-67100bc4ec00","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8c29b940-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33e6ca70-ae1f-413d-9951-266a59608cc5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33e6ca70-ae1f-413d-9951-266a59608cc5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:19.705503988Z"}]},"request_id":"6b1d96a1-bece-4cf9-be3c-168682c09405","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401682.1389365} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7ca5736c22c920a9e4a7bbd03244af57"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/964b289e-42d1-423c-9737-67100bc4ec00/signaling 200 13ms","method":"POST","requestID":"8c29b940-0636-11ef-8c83-05b823ec2e4f","responseTime":13,"status":200,"url":"/devices/964b289e-42d1-423c-9737-67100bc4ec00/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/33e6ca70-ae1f-413d-9951-266a59608cc5? 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":"7ca5736c22c920a9e4a7bbd03244af57"} device-1 | {"level":"info","message":"GET /devices/33e6ca70-ae1f-413d-9951-266a59608cc5? 200 19ms","method":"GET","requestID":"7ca5736c22c920a9e4a7bbd03244af57","responseTime":19,"status":200,"url":"/devices/33e6ca70-ae1f-413d-9951-266a59608cc5?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/34025489-2df7-4aff-b653-5bde960f301a"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/34025489-2df7-4aff-b653-5bde960f301a"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"89dd333a-eb01-415d-9f89-b48cda4a09fd"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"e48922b1-4e7f-4c64-a34d-28839207e5db"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"63fd9de4-def3-4912-9af6-28acf471b647"}]},"level":"info","message":"Built pairwise service configurations"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/964b289e-42d1-423c-9737-67100bc4ec00"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/33e6ca70-ae1f-413d-9951-266a59608cc5"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:22Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4Mn0.GC6BtKiHe_l7DIwgLnTW163eN7qYXV_oDyawAxdmbUE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fea0f5ed5cea47c4a2ccbcb08000cc93","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.828062,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:22Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401681,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4MX0.p9vs8sll_3CQJ0P7HhSiikvv8v-4UpR8d2Bs1dwMG2E"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8c2c5150-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:22Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.705665,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/964b289e-42d1-423c-9737-67100bc4ec00","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/964b289e-42d1-423c-9737-67100bc4ec00","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401682,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4Mn0.GC6BtKiHe_l7DIwgLnTW163eN7qYXV_oDyawAxdmbUE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fea0f5ed5cea47c4a2ccbcb08000cc93"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F964b289e-42d1-423c-9737-67100bc4ec00","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F964b289e-42d1-423c-9737-67100bc4ec00","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:19.756702168Z"}]},"request_id":"0963ebe2-090a-4099-8290-4de328d7e71f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401682.1611652} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fea0f5ed5cea47c4a2ccbcb08000cc93"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","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%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"4d40cd72-42c2-435c-978b-ad4eb6465be2","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401682.1648157} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"354da31d-2742-4829-a089-e1b7064c1aa0","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401682.1649797} gateway-1 | {"time_local":"29/Apr/2024:14:41:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/964b289e-42d1-423c-9737-67100bc4ec00? 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":"fea0f5ed5cea47c4a2ccbcb08000cc93"} device-1 | {"level":"info","message":"GET /devices/964b289e-42d1-423c-9737-67100bc4ec00? 200 12ms","method":"GET","requestID":"fea0f5ed5cea47c4a2ccbcb08000cc93","responseTime":12,"status":200,"url":"/devices/964b289e-42d1-423c-9737-67100bc4ec00?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8c2c5150-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/6a48568e-d40b-44ab-a5a4-a179f8d9d663'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/6a48568e-d40b-44ab-a5a4-a179f8d9d663'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 34ms","method":"POST","requestID":"8c2c5150-0636-11ef-8c83-05b823ec2e4f","responseTime":34,"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"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/34025489-2df7-4aff-b653-5bde960f301a"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:22Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33e6ca70-ae1f-413d-9951-266a59608cc5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4aa4e38d-ad95-4680-bb60-ee3f05c82b0d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401682.223164} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.810611,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/33e6ca70-ae1f-413d-9951-266a59608cc5","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/33e6ca70-ae1f-413d-9951-266a59608cc5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8c36d8a0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/33e6ca70-ae1f-413d-9951-266a59608cc5/signaling 200 12ms","method":"POST","requestID":"8c36d8a0-0636-11ef-8c83-05b823ec2e4f","responseTime":12,"status":200,"url":"/devices/33e6ca70-ae1f-413d-9951-266a59608cc5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:22Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F964b289e-42d1-423c-9737-67100bc4ec00","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"015e8972-7c44-44d0-8f66-23362878ae88","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401682.237276} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.725495,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/964b289e-42d1-423c-9737-67100bc4ec00","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/964b289e-42d1-423c-9737-67100bc4ec00","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8c38fb80-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/964b289e-42d1-423c-9737-67100bc4ec00/signaling 200 10ms","method":"POST","requestID":"8c38fb80-0636-11ef-8c83-05b823ec2e4f","responseTime":10,"status":200,"url":"/devices/964b289e-42d1-423c-9737-67100bc4ec00/signaling"} device-1 | {"data":{"peerconnection":"6a48568e-d40b-44ab-a5a4-a179f8d9d663","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/6a48568e-d40b-44ab-a5a4-a179f8d9d663' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6a48568e-d40b-44ab-a5a4-a179f8d9d663","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"60a0c26040f7b3d8d1515c0c67645139","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/964b289e-42d1-423c-9737-67100bc4ec00"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/33e6ca70-ae1f-413d-9951-266a59608cc5"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/6a48568e-d40b-44ab-a5a4-a179f8d9d663"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 12ms","method":"POST","requestID":"60a0c26040f7b3d8d1515c0c67645139","responseTime":12,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch","requestID":"60a0c26040f7b3d8d1515c0c67645139"} device-1 | {"data":{"peerconnection":"6a48568e-d40b-44ab-a5a4-a179f8d9d663","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"6a48568e-d40b-44ab-a5a4-a179f8d9d663","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/6a48568e-d40b-44ab-a5a4-a179f8d9d663' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6a48568e-d40b-44ab-a5a4-a179f8d9d663","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"594ead7c7b75b1b9a40b970e0a22f2d9","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/964b289e-42d1-423c-9737-67100bc4ec00"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/33e6ca70-ae1f-413d-9951-266a59608cc5"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/6a48568e-d40b-44ab-a5a4-a179f8d9d663"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:23Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6a48568e-d40b-44ab-a5a4-a179f8d9d663","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f5778ebf-af45-4a53-bfa0-85da8ab19f1a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401683.342486} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.819512,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6a48568e-d40b-44ab-a5a4-a179f8d9d663","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/6a48568e-d40b-44ab-a5a4-a179f8d9d663","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8ce14970-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/6a48568e-d40b-44ab-a5a4-a179f8d9d663 200 15ms","method":"GET","requestID":"8ce14970-0636-11ef-8c83-05b823ec2e4f","responseTime":15,"status":200,"url":"/peerconnections/6a48568e-d40b-44ab-a5a4-a179f8d9d663"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 53ms","method":"POST","requestID":"594ead7c7b75b1b9a40b970e0a22f2d9","responseTime":53,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch","requestID":"594ead7c7b75b1b9a40b970e0a22f2d9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:23Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F964b289e-42d1-423c-9737-67100bc4ec00","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6e3d5c98-741c-4337-8aba-f3fa00137b47","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401683.3884747} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.64841,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/964b289e-42d1-423c-9737-67100bc4ec00","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/964b289e-42d1-423c-9737-67100bc4ec00","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8ce80030-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/964b289e-42d1-423c-9737-67100bc4ec00/signaling 200 18ms","method":"POST","requestID":"8ce80030-0636-11ef-8c83-05b823ec2e4f","responseTime":18,"status":200,"url":"/devices/964b289e-42d1-423c-9737-67100bc4ec00/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4M30.Vsj0bKD4o70dPS5QL9ZSUKcCI9tOH2MFcr3UwbI7N7s","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"29dbf9449435ffcde8d36a5b303eec79","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/34025489-2df7-4aff-b653-5bde960f301a"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:23Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33e6ca70-ae1f-413d-9951-266a59608cc5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c1de6a81-f354-4b13-8eff-6a2e31e407c1","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401683.40926} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:23Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.520283,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/33e6ca70-ae1f-413d-9951-266a59608cc5","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/33e6ca70-ae1f-413d-9951-266a59608cc5","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8ceb3480-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.483885,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/34025489-2df7-4aff-b653-5bde960f301a","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/34025489-2df7-4aff-b653-5bde960f301a","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401683,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4M30.Vsj0bKD4o70dPS5QL9ZSUKcCI9tOH2MFcr3UwbI7N7s"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"29dbf9449435ffcde8d36a5b303eec79"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/33e6ca70-ae1f-413d-9951-266a59608cc5/signaling 200 18ms","method":"POST","requestID":"8ceb3480-0636-11ef-8c83-05b823ec2e4f","responseTime":18,"status":200,"url":"/devices/33e6ca70-ae1f-413d-9951-266a59608cc5/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/34025489-2df7-4aff-b653-5bde960f301a"} gateway-1 | {"time_local":"29/Apr/2024:14:41:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/34025489-2df7-4aff-b653-5bde960f301a HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"29dbf9449435ffcde8d36a5b303eec79"} experiment-1 | {"level":"info","message":"GET /experiments/34025489-2df7-4aff-b653-5bde960f301a 200 26ms","method":"GET","requestID":"29dbf9449435ffcde8d36a5b303eec79","responseTime":26,"status":200,"url":"/experiments/34025489-2df7-4aff-b653-5bde960f301a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4M30.Vsj0bKD4o70dPS5QL9ZSUKcCI9tOH2MFcr3UwbI7N7s","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"73f76543602101c1de939f317a6f2373","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/34025489-2df7-4aff-b653-5bde960f301a"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:23Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.232311,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:23Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/34025489-2df7-4aff-b653-5bde960f301a","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/34025489-2df7-4aff-b653-5bde960f301a","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401683,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4M30.Vsj0bKD4o70dPS5QL9ZSUKcCI9tOH2MFcr3UwbI7N7s"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"73f76543602101c1de939f317a6f2373"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/34025489-2df7-4aff-b653-5bde960f301a"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:23Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.3459,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:23Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6a48568e-d40b-44ab-a5a4-a179f8d9d663","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:http://localhost/peerconnections/6a48568e-d40b-44ab-a5a4-a179f8d9d663","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401683,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4M30.Vsj0bKD4o70dPS5QL9ZSUKcCI9tOH2MFcr3UwbI7N7s"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8cf4aa60-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/6a48568e-d40b-44ab-a5a4-a179f8d9d663' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/6a48568e-d40b-44ab-a5a4-a179f8d9d663' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6a48568e-d40b-44ab-a5a4-a179f8d9d663","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6a48568e-d40b-44ab-a5a4-a179f8d9d663': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6a48568e-d40b-44ab-a5a4-a179f8d9d663","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"f98e27e4-fa9d-4c9e-80ba-a056212cccdc","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401683.4979591} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5b316163e7df121ce60ac53cf086f30b","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/964b289e-42d1-423c-9737-67100bc4ec00"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/33e6ca70-ae1f-413d-9951-266a59608cc5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6a48568e-d40b-44ab-a5a4-a179f8d9d663"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"74713b60d7a5540623dfc60ab7fa342a","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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c92d02b6-3cfb-4faf-b8f2-b6e2538238ab","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401683.4987128} 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/964b289e-42d1-423c-9737-67100bc4ec00"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/33e6ca70-ae1f-413d-9951-266a59608cc5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6a48568e-d40b-44ab-a5a4-a179f8d9d663"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8cf4aa60-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} device-1 | {"data":{"peerconnection":"6a48568e-d40b-44ab-a5a4-a179f8d9d663","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/6a48568e-d40b-44ab-a5a4-a179f8d9d663 204 77ms","method":"DELETE","requestID":"8cf4aa60-0636-11ef-8c83-05b823ec2e4f","responseTime":77,"status":204,"url":"/peerconnections/6a48568e-d40b-44ab-a5a4-a179f8d9d663"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/34025489-2df7-4aff-b653-5bde960f301a"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:23Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F964b289e-42d1-423c-9737-67100bc4ec00","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ce0484c9-b16b-4645-bebd-247fa5da6258","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401683.5757227} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.497361,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/964b289e-42d1-423c-9737-67100bc4ec00","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/964b289e-42d1-423c-9737-67100bc4ec00","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8d0488e0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/964b289e-42d1-423c-9737-67100bc4ec00/signaling 200 18ms","method":"POST","requestID":"8d0488e0-0636-11ef-8c83-05b823ec2e4f","responseTime":18,"status":200,"url":"/devices/964b289e-42d1-423c-9737-67100bc4ec00/signaling"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F34025489-2df7-4aff-b653-5bde960f301a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F34025489-2df7-4aff-b653-5bde960f301a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"29cf4750-337b-4227-9519-a7d17815f8ce","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401683.5884094} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"97dbe9c8-59f5-456b-9bb5-80313317ba8c","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401683.5891333} authorization-1 | {"level":"info","message":"POST /relations/update 200 26ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"73f76543602101c1de939f317a6f2373"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":26}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:23Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33e6ca70-ae1f-413d-9951-266a59608cc5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"13a0e331-c0ba-42f3-b2af-a67d54754ec8","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401683.596835} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.134388,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/33e6ca70-ae1f-413d-9951-266a59608cc5","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/33e6ca70-ae1f-413d-9951-266a59608cc5","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8d07e440-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/33e6ca70-ae1f-413d-9951-266a59608cc5/signaling 200 16ms","method":"POST","requestID":"8d07e440-0636-11ef-8c83-05b823ec2e4f","responseTime":16,"status":200,"url":"/devices/33e6ca70-ae1f-413d-9951-266a59608cc5/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/34025489-2df7-4aff-b653-5bde960f301a"} gateway-1 | {"time_local":"29/Apr/2024:14:41:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/34025489-2df7-4aff-b653-5bde960f301a HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.222","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"73f76543602101c1de939f317a6f2373"} gateway-1 | {"time_local":"29/Apr/2024:14:41:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2197","request_time":"3.238","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"6977f799b14ed0eff085d2bb3a21c4f1"} experiment-1 | {"level":"info","message":"DELETE /experiments/34025489-2df7-4aff-b653-5bde960f301a 204 218ms","method":"DELETE","requestID":"73f76543602101c1de939f317a6f2373","responseTime":218,"status":204,"url":"/experiments/34025489-2df7-4aff-b653-5bde960f301a"} gateway-1 | {"time_local":"29/Apr/2024:14:41:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.167","http_referrer":"","http_user_agent":"node-fetch","requestID":"5b316163e7df121ce60ac53cf086f30b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 161ms","method":"POST","requestID":"5b316163e7df121ce60ac53cf086f30b","responseTime":161,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 159ms","method":"POST","requestID":"74713b60d7a5540623dfc60ab7fa342a","responseTime":159,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.168","http_referrer":"","http_user_agent":"node-fetch","requestID":"74713b60d7a5540623dfc60ab7fa342a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4M30.Vsj0bKD4o70dPS5QL9ZSUKcCI9tOH2MFcr3UwbI7N7s","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"384f25f877918e64d5e73c6ac4b8159d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"29/Apr/2024:14:41:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1955","request_time":"1.849","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"32f93447e80a8a2e65e0d9a0317c012c"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:23Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.914648,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:23Z"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/964b289e-42d1-423c-9737-67100bc4ec00' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401683,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4M30.Vsj0bKD4o70dPS5QL9ZSUKcCI9tOH2MFcr3UwbI7N7s"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"384f25f877918e64d5e73c6ac4b8159d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/33e6ca70-ae1f-413d-9951-266a59608cc5' 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:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F883f2057-aecb-4353-9959-66797080dc24","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"11066f3a-f491-4b09-b454-04f91dfbed81","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401683.6876779} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"384f25f877918e64d5e73c6ac4b8159d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d4732caa-e55a-47a7-a14b-50c3ebe0965b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401683.6938448} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"384f25f877918e64d5e73c6ac4b8159d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F883f2057-aecb-4353-9959-66797080dc24","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"c17c7dce-92d3-4c01-b8ff-d81e83793212","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401683.7054906} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ef6b19eb-c801-46fe-b6f8-6e8a8b91d497","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401683.7057366} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"384f25f877918e64d5e73c6ac4b8159d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F883f2057-aecb-4353-9959-66797080dc24","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F883f2057-aecb-4353-9959-66797080dc24","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:23.705478729Z"}]},"request_id":"1394e469-868d-488b-9dc7-857d5aac14bd","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401683.7111626} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"384f25f877918e64d5e73c6ac4b8159d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"384f25f877918e64d5e73c6ac4b8159d"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"384f25f877918e64d5e73c6ac4b8159d","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4M30.Vsj0bKD4o70dPS5QL9ZSUKcCI9tOH2MFcr3UwbI7N7s","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3242de9e7e647bd28ddcad3473d25366","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:23Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.658384,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401683,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4M30.Vsj0bKD4o70dPS5QL9ZSUKcCI9tOH2MFcr3UwbI7N7s"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3242de9e7e647bd28ddcad3473d25366"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb777bed6-2c2a-42f0-8d95-e164a4d719b6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8bcf82cc-9e88-498a-b2dd-8c004149a4cd","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401683.738401} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3242de9e7e647bd28ddcad3473d25366"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a9cd1e71-9804-485f-bcba-5bcc6cb0e749","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401683.74388} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3242de9e7e647bd28ddcad3473d25366"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb777bed6-2c2a-42f0-8d95-e164a4d719b6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"e34536a9-70a8-4b12-932a-53667f8fd26a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401683.7560081} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9bf06a59-6fa7-439c-b3eb-082f8dfb86ca","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401683.7562609} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3242de9e7e647bd28ddcad3473d25366"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb777bed6-2c2a-42f0-8d95-e164a4d719b6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb777bed6-2c2a-42f0-8d95-e164a4d719b6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:23.755996132Z"}]},"request_id":"7616d8f7-4d9c-4182-b03d-b64b0b6fcb85","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401683.7622762} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3242de9e7e647bd28ddcad3473d25366"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3242de9e7e647bd28ddcad3473d25366"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"3242de9e7e647bd28ddcad3473d25366","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4NH0.lTKfOq2iBkz21KtJjB_LopXPAb1cgINKM5jdGbHBBcY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"cc61813f8a4a279039cb0779289249f2","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:24Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.042719,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:24Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/883f2057-aecb-4353-9959-66797080dc24","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/883f2057-aecb-4353-9959-66797080dc24","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401684,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4NH0.lTKfOq2iBkz21KtJjB_LopXPAb1cgINKM5jdGbHBBcY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cc61813f8a4a279039cb0779289249f2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F883f2057-aecb-4353-9959-66797080dc24","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F883f2057-aecb-4353-9959-66797080dc24","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:23.705478729Z"}]},"request_id":"5daa887c-e63b-45a1-974e-c7251181e713","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401684.2556303} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cc61813f8a4a279039cb0779289249f2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9d7ea940-3468-49e1-96ee-ffde60c7d474","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401684.262678} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cc61813f8a4a279039cb0779289249f2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F883f2057-aecb-4353-9959-66797080dc24","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F883f2057-aecb-4353-9959-66797080dc24","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:23.705478729Z"}]},"request_id":"711a1aae-014e-4c70-89a4-2a5af2022ea2","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401684.2884505} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cc61813f8a4a279039cb0779289249f2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/883f2057-aecb-4353-9959-66797080dc24 200 52ms","method":"PATCH","requestID":"cc61813f8a4a279039cb0779289249f2","responseTime":52,"status":200,"url":"/devices/883f2057-aecb-4353-9959-66797080dc24"} gateway-1 | {"time_local":"29/Apr/2024:14:41:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/883f2057-aecb-4353-9959-66797080dc24 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.060","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"cc61813f8a4a279039cb0779289249f2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4NH0.lTKfOq2iBkz21KtJjB_LopXPAb1cgINKM5jdGbHBBcY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3961cb6d9c7437bbda5003f6fe86dbf7","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:24Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.1103,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:24Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/883f2057-aecb-4353-9959-66797080dc24","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/883f2057-aecb-4353-9959-66797080dc24","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401684,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4NH0.lTKfOq2iBkz21KtJjB_LopXPAb1cgINKM5jdGbHBBcY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3961cb6d9c7437bbda5003f6fe86dbf7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/883f2057-aecb-4353-9959-66797080dc24/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.029","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"3961cb6d9c7437bbda5003f6fe86dbf7"} device-1 | {"level":"info","message":"POST /devices/883f2057-aecb-4353-9959-66797080dc24/websocket 200 23ms","method":"POST","requestID":"3961cb6d9c7437bbda5003f6fe86dbf7","responseTime":23,"status":200,"url":"/devices/883f2057-aecb-4353-9959-66797080dc24/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/883f2057-aecb-4353-9959-66797080dc24' connected"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b4dc6e12bb4f1607330f1d4a84297573","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2024:14:41:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6/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":"b4dc6e12bb4f1607330f1d4a84297573"} device-1 | {"level":"info","message":"OPTIONS /devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6/websocket 200 1ms","method":"OPTIONS","requestID":"b4dc6e12bb4f1607330f1d4a84297573","responseTime":1,"status":200,"url":"/devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4NX0._x7ny5UeCQKC601TC_7j2oS4IZOxdRty5ZmaJvmyiNM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f32a367752e3a8ec77d825016e53e8d8","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:25Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.324874,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:25Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401685,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4NX0._x7ny5UeCQKC601TC_7j2oS4IZOxdRty5ZmaJvmyiNM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f32a367752e3a8ec77d825016e53e8d8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6/websocket 200 37ms","method":"POST","requestID":"f32a367752e3a8ec77d825016e53e8d8","responseTime":37,"status":200,"url":"/devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6/websocket"} gateway-1 | {"time_local":"29/Apr/2024:14:41:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6/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":"f32a367752e3a8ec77d825016e53e8d8"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4NX0._x7ny5UeCQKC601TC_7j2oS4IZOxdRty5ZmaJvmyiNM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9f0b490adb38b834436a8c87e9548cc5","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:25Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.140928,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/883f2057-aecb-4353-9959-66797080dc24","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/883f2057-aecb-4353-9959-66797080dc24","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401685,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4NX0._x7ny5UeCQKC601TC_7j2oS4IZOxdRty5ZmaJvmyiNM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9f0b490adb38b834436a8c87e9548cc5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F883f2057-aecb-4353-9959-66797080dc24","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F883f2057-aecb-4353-9959-66797080dc24","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:23.705478729Z"}]},"request_id":"67c7f14d-8def-4385-a312-ca0de493d697","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401685.8389113} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9f0b490adb38b834436a8c87e9548cc5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/883f2057-aecb-4353-9959-66797080dc24? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9f0b490adb38b834436a8c87e9548cc5"} device-1 | {"level":"info","message":"GET /devices/883f2057-aecb-4353-9959-66797080dc24? 200 21ms","method":"GET","requestID":"9f0b490adb38b834436a8c87e9548cc5","responseTime":21,"status":200,"url":"/devices/883f2057-aecb-4353-9959-66797080dc24?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4NX0._x7ny5UeCQKC601TC_7j2oS4IZOxdRty5ZmaJvmyiNM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"d1a57c92b5cebf8d1546904c2a114f0b","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:25Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.330757,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401685,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4NX0._x7ny5UeCQKC601TC_7j2oS4IZOxdRty5ZmaJvmyiNM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d1a57c92b5cebf8d1546904c2a114f0b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb777bed6-2c2a-42f0-8d95-e164a4d719b6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb777bed6-2c2a-42f0-8d95-e164a4d719b6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:23.755996132Z"}]},"request_id":"facfa4d6-90dd-4920-979c-af685452c1c6","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401685.8711002} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d1a57c92b5cebf8d1546904c2a114f0b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d1a57c92b5cebf8d1546904c2a114f0b"} device-1 | {"level":"info","message":"GET /devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6? 200 22ms","method":"GET","requestID":"d1a57c92b5cebf8d1546904c2a114f0b","responseTime":22,"status":200,"url":"/devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4NX0._x7ny5UeCQKC601TC_7j2oS4IZOxdRty5ZmaJvmyiNM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"616d51ec886c214eada22baf2d15f9bd","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:25Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.113416,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401685,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4NX0._x7ny5UeCQKC601TC_7j2oS4IZOxdRty5ZmaJvmyiNM"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"616d51ec886c214eada22baf2d15f9bd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ddabc966-6521-4c13-980f-9e1e3e7ad0c4"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ddabc966-6521-4c13-980f-9e1e3e7ad0c4"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ddabc966-6521-4c13-980f-9e1e3e7ad0c4"},"level":"info","message":"Successfully booked experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:25Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.109471,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:25Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/883f2057-aecb-4353-9959-66797080dc24","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/883f2057-aecb-4353-9959-66797080dc24","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401685,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4NX0._x7ny5UeCQKC601TC_7j2oS4IZOxdRty5ZmaJvmyiNM"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e713840-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.870165,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401685,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4NX0._x7ny5UeCQKC601TC_7j2oS4IZOxdRty5ZmaJvmyiNM"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e718660-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F883f2057-aecb-4353-9959-66797080dc24","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F883f2057-aecb-4353-9959-66797080dc24","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:23.705478729Z"}]},"request_id":"d659de5d-9a2d-41ae-8e3d-ace8a5e2ce8b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401685.9700842} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e713840-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb777bed6-2c2a-42f0-8d95-e164a4d719b6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb777bed6-2c2a-42f0-8d95-e164a4d719b6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:23.755996132Z"}]},"request_id":"5a6a799f-4756-4992-b81e-777d0fb897bf","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401685.971058} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e718660-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/883f2057-aecb-4353-9959-66797080dc24? 200 20ms","method":"GET","requestID":"8e713840-0636-11ef-8c83-05b823ec2e4f","responseTime":20,"status":200,"url":"/devices/883f2057-aecb-4353-9959-66797080dc24?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6? 200 19ms","method":"GET","requestID":"8e718660-0636-11ef-8c83-05b823ec2e4f","responseTime":19,"status":200,"url":"/devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ddabc966-6521-4c13-980f-9e1e3e7ad0c4"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ddabc966-6521-4c13-980f-9e1e3e7ad0c4"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ddabc966-6521-4c13-980f-9e1e3e7ad0c4"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ddabc966-6521-4c13-980f-9e1e3e7ad0c4"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ddabc966-6521-4c13-980f-9e1e3e7ad0c4"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ddabc966-6521-4c13-980f-9e1e3e7ad0c4"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ddabc966-6521-4c13-980f-9e1e3e7ad0c4"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ddabc966-6521-4c13-980f-9e1e3e7ad0c4"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:26Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.334836,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:26Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ddabc966-6521-4c13-980f-9e1e3e7ad0c4"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/883f2057-aecb-4353-9959-66797080dc24","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/883f2057-aecb-4353-9959-66797080dc24","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401685,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4NX0._x7ny5UeCQKC601TC_7j2oS4IZOxdRty5ZmaJvmyiNM"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e7d6d40-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:26Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.341463,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401685,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4NX0._x7ny5UeCQKC601TC_7j2oS4IZOxdRty5ZmaJvmyiNM"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e7de270-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:26Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F883f2057-aecb-4353-9959-66797080dc24","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fb073d61-cb2d-476b-a338-9b39def9b071","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401686.052083} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.819497,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/883f2057-aecb-4353-9959-66797080dc24","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/883f2057-aecb-4353-9959-66797080dc24","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e7e3090-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F883f2057-aecb-4353-9959-66797080dc24","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F883f2057-aecb-4353-9959-66797080dc24","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:23.705478729Z"}]},"request_id":"548b66d8-0d15-4b80-82be-3db1ffec3a49","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401686.0567431} authorization-1 | {"level":"info","message":"POST /relations/query 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e7d6d40-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb777bed6-2c2a-42f0-8d95-e164a4d719b6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb777bed6-2c2a-42f0-8d95-e164a4d719b6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:23.755996132Z"}]},"request_id":"f6ba8dd2-da48-4092-a11a-db05f2766300","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401686.0625365} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e7de270-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/883f2057-aecb-4353-9959-66797080dc24/signaling 200 26ms","method":"POST","requestID":"8e7e3090-0636-11ef-8c83-05b823ec2e4f","responseTime":26,"status":200,"url":"/devices/883f2057-aecb-4353-9959-66797080dc24/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fddabc966-6521-4c13-980f-9e1e3e7ad0c4#owner@http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fddabc966-6521-4c13-980f-9e1e3e7ad0c4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"ce2aa31c-8e8d-4583-8ae0-c0640cf2988e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401686.0709248} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aa712a7a-b930-41f5-833f-4c39b300d2bc","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401686.071652} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/883f2057-aecb-4353-9959-66797080dc24? 200 40ms","method":"GET","requestID":"8e7d6d40-0636-11ef-8c83-05b823ec2e4f","responseTime":40,"status":200,"url":"/devices/883f2057-aecb-4353-9959-66797080dc24?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 25ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"616d51ec886c214eada22baf2d15f9bd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":25}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6? 200 39ms","method":"GET","requestID":"8e7de270-0636-11ef-8c83-05b823ec2e4f","responseTime":39,"status":200,"url":"/devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6?"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:26Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb777bed6-2c2a-42f0-8d95-e164a4d719b6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"30a42c25-afd7-4051-88c8-6ce70d7c7e68","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401686.0820086} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.087674,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e82eb80-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:26Z"} device-1 | {"level":"info","message":"POST /devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6/signaling 200 22ms","method":"POST","requestID":"8e82eb80-0636-11ef-8c83-05b823ec2e4f","responseTime":22,"status":200,"url":"/devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6/signaling"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F883f2057-aecb-4353-9959-66797080dc24","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"19d518d3-47ba-44d4-a108-e784ce95c765","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401686.0969837} experiment-1 | {"data":{"experiment":"http://localhost/experiments/ddabc966-6521-4c13-980f-9e1e3e7ad0c4","user":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.378468,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:26Z"} gateway-1 | {"time_local":"29/Apr/2024:14:41:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.216","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"616d51ec886c214eada22baf2d15f9bd"} experiment-1 | {"level":"info","message":"POST /experiments? 201 210ms","method":"POST","requestID":"616d51ec886c214eada22baf2d15f9bd","responseTime":210,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/883f2057-aecb-4353-9959-66797080dc24","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/883f2057-aecb-4353-9959-66797080dc24","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e858390-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4Nn0.pbQHFrfLIhH9TddLqXvA8KjUDEW5ebtXXfblCgoSqC0","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"POST /devices/883f2057-aecb-4353-9959-66797080dc24/signaling 200 18ms","method":"POST","requestID":"8e858390-0636-11ef-8c83-05b823ec2e4f","responseTime":18,"status":200,"url":"/devices/883f2057-aecb-4353-9959-66797080dc24/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"dbbcadea3b063dcd5cf9fc03f06055cb","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:26Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.612119,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/883f2057-aecb-4353-9959-66797080dc24","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/883f2057-aecb-4353-9959-66797080dc24","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401686,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4Nn0.pbQHFrfLIhH9TddLqXvA8KjUDEW5ebtXXfblCgoSqC0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dbbcadea3b063dcd5cf9fc03f06055cb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:26Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb777bed6-2c2a-42f0-8d95-e164a4d719b6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"95d52668-9c89-442c-a519-f23ba926affa","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401686.118648} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.284398,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e88def0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F883f2057-aecb-4353-9959-66797080dc24","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F883f2057-aecb-4353-9959-66797080dc24","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:23.705478729Z"}]},"request_id":"aa5e782a-e300-4953-adab-2b28a732ccb9","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401686.1223657} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dbbcadea3b063dcd5cf9fc03f06055cb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6/signaling 200 17ms","method":"POST","requestID":"8e88def0-0636-11ef-8c83-05b823ec2e4f","responseTime":17,"status":200,"url":"/devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/883f2057-aecb-4353-9959-66797080dc24? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dbbcadea3b063dcd5cf9fc03f06055cb"} device-1 | {"level":"info","message":"GET /devices/883f2057-aecb-4353-9959-66797080dc24? 200 20ms","method":"GET","requestID":"dbbcadea3b063dcd5cf9fc03f06055cb","responseTime":20,"status":200,"url":"/devices/883f2057-aecb-4353-9959-66797080dc24?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ddabc966-6521-4c13-980f-9e1e3e7ad0c4"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ddabc966-6521-4c13-980f-9e1e3e7ad0c4"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"6101d940-6ab2-40aa-9a46-8365f77023c5"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"7906dd0c-3a05-429b-9123-c0489415fbc3"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"a6cece1c-08c9-4752-a9fb-cbe39ea4d9db"}]},"level":"info","message":"Built pairwise service configurations"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/883f2057-aecb-4353-9959-66797080dc24"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4Nn0.pbQHFrfLIhH9TddLqXvA8KjUDEW5ebtXXfblCgoSqC0","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:26Z"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"13cae0c5129b642c2e9a855b01ecd1ba","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.979868,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:26Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401685,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4NX0._x7ny5UeCQKC601TC_7j2oS4IZOxdRty5ZmaJvmyiNM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e8c1340-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:26Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.700432,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401686,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4Nn0.pbQHFrfLIhH9TddLqXvA8KjUDEW5ebtXXfblCgoSqC0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"13cae0c5129b642c2e9a855b01ecd1ba"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb777bed6-2c2a-42f0-8d95-e164a4d719b6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb777bed6-2c2a-42f0-8d95-e164a4d719b6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:23.755996132Z"}]},"request_id":"b9884ae1-aab3-4169-9b44-8ad42ca1f2ff","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401686.1444943} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"13cae0c5129b642c2e9a855b01ecd1ba"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","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%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"77e78333-2383-4e57-962f-dd429b3257c9","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401686.1489255} gateway-1 | {"time_local":"29/Apr/2024:14:41:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"13cae0c5129b642c2e9a855b01ecd1ba"} device-1 | {"level":"info","message":"GET /devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6? 200 13ms","method":"GET","requestID":"13cae0c5129b642c2e9a855b01ecd1ba","responseTime":13,"status":200,"url":"/devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6fee1dbe-c733-428e-815c-fc74e697181e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401686.1492326} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e8c1340-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/00a89553-62a7-469b-9729-0b4b92b13d13'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/00a89553-62a7-469b-9729-0b4b92b13d13'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 39ms","method":"POST","requestID":"8e8c1340-0636-11ef-8c83-05b823ec2e4f","responseTime":39,"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"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ddabc966-6521-4c13-980f-9e1e3e7ad0c4"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:26Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F883f2057-aecb-4353-9959-66797080dc24","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"80b45603-7702-42a0-921a-190dfee33465","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401686.2116303} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.029439,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/883f2057-aecb-4353-9959-66797080dc24","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/883f2057-aecb-4353-9959-66797080dc24","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e975de0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/883f2057-aecb-4353-9959-66797080dc24/signaling 200 11ms","method":"POST","requestID":"8e975de0-0636-11ef-8c83-05b823ec2e4f","responseTime":11,"status":200,"url":"/devices/883f2057-aecb-4353-9959-66797080dc24/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:26Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb777bed6-2c2a-42f0-8d95-e164a4d719b6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6a4acfe0-295c-4c95-b0c6-af314695ac1c","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401686.2246146} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.659867,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e9959b0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6/signaling 200 10ms","method":"POST","requestID":"8e9959b0-0636-11ef-8c83-05b823ec2e4f","responseTime":10,"status":200,"url":"/devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6/signaling"} device-1 | {"data":{"peerconnection":"00a89553-62a7-469b-9729-0b4b92b13d13","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/00a89553-62a7-469b-9729-0b4b92b13d13' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"00a89553-62a7-469b-9729-0b4b92b13d13","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4afcc7388e34a01fd73dc4754c400949","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/883f2057-aecb-4353-9959-66797080dc24"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/00a89553-62a7-469b-9729-0b4b92b13d13"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 12ms","method":"POST","requestID":"4afcc7388e34a01fd73dc4754c400949","responseTime":12,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.016","http_referrer":"","http_user_agent":"node-fetch","requestID":"4afcc7388e34a01fd73dc4754c400949"} device-1 | {"data":{"peerconnection":"00a89553-62a7-469b-9729-0b4b92b13d13","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"00a89553-62a7-469b-9729-0b4b92b13d13","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/00a89553-62a7-469b-9729-0b4b92b13d13' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"00a89553-62a7-469b-9729-0b4b92b13d13","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"0a125c8b9670111de3dff89b2037d040","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/883f2057-aecb-4353-9959-66797080dc24"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/00a89553-62a7-469b-9729-0b4b92b13d13"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:27Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F00a89553-62a7-469b-9729-0b4b92b13d13","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6d247cec-bca8-4426-a7d7-f500b0d99d53","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401687.3240886} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.086551,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/00a89553-62a7-469b-9729-0b4b92b13d13","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/00a89553-62a7-469b-9729-0b4b92b13d13","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8f40bd40-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/00a89553-62a7-469b-9729-0b4b92b13d13 200 17ms","method":"GET","requestID":"8f40bd40-0636-11ef-8c83-05b823ec2e4f","responseTime":17,"status":200,"url":"/peerconnections/00a89553-62a7-469b-9729-0b4b92b13d13"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 55ms","method":"POST","requestID":"0a125c8b9670111de3dff89b2037d040","responseTime":55,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.060","http_referrer":"","http_user_agent":"node-fetch","requestID":"0a125c8b9670111de3dff89b2037d040"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:27Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F883f2057-aecb-4353-9959-66797080dc24","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2c51368f-a7b0-4b39-8783-31ee7463222f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401687.3698528} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.401903,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/883f2057-aecb-4353-9959-66797080dc24","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/883f2057-aecb-4353-9959-66797080dc24","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8f479b10-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/883f2057-aecb-4353-9959-66797080dc24/signaling 200 18ms","method":"POST","requestID":"8f479b10-0636-11ef-8c83-05b823ec2e4f","responseTime":18,"status":200,"url":"/devices/883f2057-aecb-4353-9959-66797080dc24/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:27Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4N30.A-3dpNfY1_UryDIGrZRhuDvsin7sx3_ODwDFMNBTLho","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4f3401b99644f7a385871c7b90c9ef1d","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb777bed6-2c2a-42f0-8d95-e164a4d719b6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bcf03fa9-2d79-444c-bc58-5a203fd9a90f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401687.390161} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.168271,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:27Z"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ddabc966-6521-4c13-980f-9e1e3e7ad0c4"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8f4af670-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:27Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.283587,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ddabc966-6521-4c13-980f-9e1e3e7ad0c4","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/ddabc966-6521-4c13-980f-9e1e3e7ad0c4","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401687,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4N30.A-3dpNfY1_UryDIGrZRhuDvsin7sx3_ODwDFMNBTLho"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6/signaling 200 18ms","method":"POST","requestID":"8f4af670-0636-11ef-8c83-05b823ec2e4f","responseTime":18,"status":200,"url":"/devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4f3401b99644f7a385871c7b90c9ef1d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/ddabc966-6521-4c13-980f-9e1e3e7ad0c4"} gateway-1 | {"time_local":"29/Apr/2024:14:41:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ddabc966-6521-4c13-980f-9e1e3e7ad0c4 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4f3401b99644f7a385871c7b90c9ef1d"} experiment-1 | {"level":"info","message":"GET /experiments/ddabc966-6521-4c13-980f-9e1e3e7ad0c4 200 23ms","method":"GET","requestID":"4f3401b99644f7a385871c7b90c9ef1d","responseTime":23,"status":200,"url":"/experiments/ddabc966-6521-4c13-980f-9e1e3e7ad0c4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4N30.A-3dpNfY1_UryDIGrZRhuDvsin7sx3_ODwDFMNBTLho","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"750a41183c1fa139c27ec03b15d9a0f8","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ddabc966-6521-4c13-980f-9e1e3e7ad0c4"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:27Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.176141,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:27Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ddabc966-6521-4c13-980f-9e1e3e7ad0c4","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/ddabc966-6521-4c13-980f-9e1e3e7ad0c4","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401687,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4N30.A-3dpNfY1_UryDIGrZRhuDvsin7sx3_ODwDFMNBTLho"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"750a41183c1fa139c27ec03b15d9a0f8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ddabc966-6521-4c13-980f-9e1e3e7ad0c4"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:27Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.380817,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:27Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/00a89553-62a7-469b-9729-0b4b92b13d13","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:http://localhost/peerconnections/00a89553-62a7-469b-9729-0b4b92b13d13","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401687,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4N30.A-3dpNfY1_UryDIGrZRhuDvsin7sx3_ODwDFMNBTLho"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8f541e30-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/00a89553-62a7-469b-9729-0b4b92b13d13' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/00a89553-62a7-469b-9729-0b4b92b13d13' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"00a89553-62a7-469b-9729-0b4b92b13d13","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F00a89553-62a7-469b-9729-0b4b92b13d13': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F00a89553-62a7-469b-9729-0b4b92b13d13","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"775457c2-ff2a-4a75-9da2-ad81c79663f2","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401687.4765112} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8b45dea1a6a7fb237e369fac4361b9b9","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6a86ed6d-429f-47a9-b358-1654f2e484b3","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401687.4771812} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0c00e42a4817c3213a09630c872e90a3","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/883f2057-aecb-4353-9959-66797080dc24"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/00a89553-62a7-469b-9729-0b4b92b13d13"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8f541e30-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} 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/883f2057-aecb-4353-9959-66797080dc24"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/00a89553-62a7-469b-9729-0b4b92b13d13"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"00a89553-62a7-469b-9729-0b4b92b13d13","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/00a89553-62a7-469b-9729-0b4b92b13d13 204 70ms","method":"DELETE","requestID":"8f541e30-0636-11ef-8c83-05b823ec2e4f","responseTime":70,"status":204,"url":"/peerconnections/00a89553-62a7-469b-9729-0b4b92b13d13"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ddabc966-6521-4c13-980f-9e1e3e7ad0c4"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:27Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F883f2057-aecb-4353-9959-66797080dc24","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"45b21b91-f409-4241-9b8c-c57276982102","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401687.548655} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.058688,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/883f2057-aecb-4353-9959-66797080dc24","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/883f2057-aecb-4353-9959-66797080dc24","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8f631250-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/883f2057-aecb-4353-9959-66797080dc24/signaling 200 17ms","method":"POST","requestID":"8f631250-0636-11ef-8c83-05b823ec2e4f","responseTime":17,"status":200,"url":"/devices/883f2057-aecb-4353-9959-66797080dc24/signaling"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fddabc966-6521-4c13-980f-9e1e3e7ad0c4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fddabc966-6521-4c13-980f-9e1e3e7ad0c4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"757135f1-7f4c-47ed-a965-62c3439af30a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401687.5615435} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bfada9c2-bb6d-43a8-9fa0-71db3377b134","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401687.562266} authorization-1 | {"level":"info","message":"POST /relations/update 200 25ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"750a41183c1fa139c27ec03b15d9a0f8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":25}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:27Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb777bed6-2c2a-42f0-8d95-e164a4d719b6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7842852d-2c41-49a6-bb06-cd40478f90ff","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401687.5718086} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.845675,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8f6646a0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6/signaling 200 18ms","method":"POST","requestID":"8f6646a0-0636-11ef-8c83-05b823ec2e4f","responseTime":18,"status":200,"url":"/devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ddabc966-6521-4c13-980f-9e1e3e7ad0c4"} gateway-1 | {"time_local":"29/Apr/2024:14:41:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ddabc966-6521-4c13-980f-9e1e3e7ad0c4 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.215","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"750a41183c1fa139c27ec03b15d9a0f8"} gateway-1 | {"time_local":"29/Apr/2024:14:41:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2194","request_time":"3.306","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"0ec8a95ac6d5c992553ee8ee515b4068"} experiment-1 | {"level":"info","message":"DELETE /experiments/ddabc966-6521-4c13-980f-9e1e3e7ad0c4 204 212ms","method":"DELETE","requestID":"750a41183c1fa139c27ec03b15d9a0f8","responseTime":212,"status":204,"url":"/experiments/ddabc966-6521-4c13-980f-9e1e3e7ad0c4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 158ms","method":"POST","requestID":"8b45dea1a6a7fb237e369fac4361b9b9","responseTime":158,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.164","http_referrer":"","http_user_agent":"node-fetch","requestID":"8b45dea1a6a7fb237e369fac4361b9b9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 156ms","method":"POST","requestID":"0c00e42a4817c3213a09630c872e90a3","responseTime":156,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.166","http_referrer":"","http_user_agent":"node-fetch","requestID":"0c00e42a4817c3213a09630c872e90a3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4N30.A-3dpNfY1_UryDIGrZRhuDvsin7sx3_ODwDFMNBTLho","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"024e412e8a7328b9ed762cb919eed245","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/883f2057-aecb-4353-9959-66797080dc24' closed"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:27Z"} gateway-1 | {"time_local":"29/Apr/2024:14:41:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1955","request_time":"1.847","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b2d844fea69f287ef326c83c0f6510aa"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.057551,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:27Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401687,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4N30.A-3dpNfY1_UryDIGrZRhuDvsin7sx3_ODwDFMNBTLho"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"024e412e8a7328b9ed762cb919eed245"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b777bed6-2c2a-42f0-8d95-e164a4d719b6' 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:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F705d1206-c5a5-4833-9a93-6880ebd8cadd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6251e684-2eaa-4298-86c2-48f0c348ecbd","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401687.6667151} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"024e412e8a7328b9ed762cb919eed245"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f72ba1b7-1eb3-4b64-af49-bcb93f7edcfe","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401687.6741526} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"024e412e8a7328b9ed762cb919eed245"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F705d1206-c5a5-4833-9a93-6880ebd8cadd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"e387241d-65fd-48c9-9388-7638a4395090","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401687.687616} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"84b70d4a-3ae4-40e9-86b0-5a0b0c672533","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401687.6879964} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"024e412e8a7328b9ed762cb919eed245"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F705d1206-c5a5-4833-9a93-6880ebd8cadd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F705d1206-c5a5-4833-9a93-6880ebd8cadd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:27.687602896Z"}]},"request_id":"426876ef-e6b8-4c48-ac54-1fc1925a44d8","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401687.6933477} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"024e412e8a7328b9ed762cb919eed245"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 54ms","method":"POST","requestID":"024e412e8a7328b9ed762cb919eed245","responseTime":54,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2024:14:41:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"024e412e8a7328b9ed762cb919eed245"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4N30.A-3dpNfY1_UryDIGrZRhuDvsin7sx3_ODwDFMNBTLho","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c43cb94c4dbbf8089e6a64841270034a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:27Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.873354,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:27Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401687,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4N30.A-3dpNfY1_UryDIGrZRhuDvsin7sx3_ODwDFMNBTLho"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c43cb94c4dbbf8089e6a64841270034a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bf8d69a-491a-460c-90eb-83e54c92022e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a9dcdd3c-ee37-495a-955a-6bf3cb4e5f9a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401687.7200553} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c43cb94c4dbbf8089e6a64841270034a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e2bfdd83-5707-4657-b53c-da954482529d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401687.7255194} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c43cb94c4dbbf8089e6a64841270034a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bf8d69a-491a-460c-90eb-83e54c92022e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"807436e7-b2c1-456f-9717-cd985bbefbce","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401687.7353377} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"544a3d72-7daa-494d-8524-42c741482a0f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401687.7354777} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c43cb94c4dbbf8089e6a64841270034a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bf8d69a-491a-460c-90eb-83e54c92022e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bf8d69a-491a-460c-90eb-83e54c92022e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:27.735325659Z"}]},"request_id":"197a9437-7623-4d86-932f-693fa49ac815","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401687.7415059} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c43cb94c4dbbf8089e6a64841270034a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c43cb94c4dbbf8089e6a64841270034a"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"c43cb94c4dbbf8089e6a64841270034a","responseTime":42,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OH0.VSqE2mh7qrqn5hVPEwRQTHxdCyRKyGalgt9RFr3YqTI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 9ms","method":"GET","requestID":"6911f769605945cebf4e4de873928fda","responseTime":9,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OH0.VSqE2mh7qrqn5hVPEwRQTHxdCyRKyGalgt9RFr3YqTI","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authentication-1 | {"level":"info","message":"GET /auth 200 9ms","method":"GET","requestID":"80d1a2fb0a4d2bd5fcf3d2195e60af8d","responseTime":9,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.403721,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/705d1206-c5a5-4833-9a93-6880ebd8cadd","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/705d1206-c5a5-4833-9a93-6880ebd8cadd","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401688,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OH0.VSqE2mh7qrqn5hVPEwRQTHxdCyRKyGalgt9RFr3YqTI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6911f769605945cebf4e4de873928fda"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.631743,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2bf8d69a-491a-460c-90eb-83e54c92022e","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/2bf8d69a-491a-460c-90eb-83e54c92022e","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401688,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OH0.VSqE2mh7qrqn5hVPEwRQTHxdCyRKyGalgt9RFr3YqTI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"80d1a2fb0a4d2bd5fcf3d2195e60af8d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F705d1206-c5a5-4833-9a93-6880ebd8cadd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F705d1206-c5a5-4833-9a93-6880ebd8cadd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:27.687602896Z"}]},"request_id":"68ba016e-2e87-4f54-8fa0-fd5399408290","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401688.2320976} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6911f769605945cebf4e4de873928fda"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bf8d69a-491a-460c-90eb-83e54c92022e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bf8d69a-491a-460c-90eb-83e54c92022e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:27.735325659Z"}]},"request_id":"3f570465-ab71-4052-8afe-3d80095ab8f5","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401688.2332287} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"80d1a2fb0a4d2bd5fcf3d2195e60af8d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fa86e211-c124-43f3-943e-38508735a5c0","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401688.2381423} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6911f769605945cebf4e4de873928fda"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"72ddc6ad-d0a6-4a25-a241-c2846abac6e0","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401688.2404099} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"80d1a2fb0a4d2bd5fcf3d2195e60af8d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bf8d69a-491a-460c-90eb-83e54c92022e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bf8d69a-491a-460c-90eb-83e54c92022e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:27.735325659Z"}]},"request_id":"48aa9509-dcd9-4626-9519-bb5cf01873c9","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401688.244223} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"80d1a2fb0a4d2bd5fcf3d2195e60af8d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/2bf8d69a-491a-460c-90eb-83e54c92022e HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.041","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"80d1a2fb0a4d2bd5fcf3d2195e60af8d"} device-1 | {"level":"info","message":"PATCH /devices/2bf8d69a-491a-460c-90eb-83e54c92022e 200 28ms","method":"PATCH","requestID":"80d1a2fb0a4d2bd5fcf3d2195e60af8d","responseTime":28,"status":200,"url":"/devices/2bf8d69a-491a-460c-90eb-83e54c92022e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OH0.VSqE2mh7qrqn5hVPEwRQTHxdCyRKyGalgt9RFr3YqTI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f1ad166311767a8ac3c54afe6a8a5328","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.727111,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2bf8d69a-491a-460c-90eb-83e54c92022e","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/2bf8d69a-491a-460c-90eb-83e54c92022e","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401688,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OH0.VSqE2mh7qrqn5hVPEwRQTHxdCyRKyGalgt9RFr3YqTI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f1ad166311767a8ac3c54afe6a8a5328"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F705d1206-c5a5-4833-9a93-6880ebd8cadd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F705d1206-c5a5-4833-9a93-6880ebd8cadd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:27.687602896Z"}]},"request_id":"2610a978-52bb-4df2-854a-7a223846b02c","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401688.278915} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6911f769605945cebf4e4de873928fda"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/705d1206-c5a5-4833-9a93-6880ebd8cadd 200 66ms","method":"PATCH","requestID":"6911f769605945cebf4e4de873928fda","responseTime":66,"status":200,"url":"/devices/705d1206-c5a5-4833-9a93-6880ebd8cadd"} gateway-1 | {"time_local":"29/Apr/2024:14:41:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/705d1206-c5a5-4833-9a93-6880ebd8cadd HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.077","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"6911f769605945cebf4e4de873928fda"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OH0.VSqE2mh7qrqn5hVPEwRQTHxdCyRKyGalgt9RFr3YqTI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ca9f22f03e359b360ffb0ce7e6380447","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2bf8d69a-491a-460c-90eb-83e54c92022e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.044","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"f1ad166311767a8ac3c54afe6a8a5328"} device-1 | {"level":"info","message":"POST /devices/2bf8d69a-491a-460c-90eb-83e54c92022e/websocket 200 41ms","method":"POST","requestID":"f1ad166311767a8ac3c54afe6a8a5328","responseTime":41,"status":200,"url":"/devices/2bf8d69a-491a-460c-90eb-83e54c92022e/websocket"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.778833,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/705d1206-c5a5-4833-9a93-6880ebd8cadd","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/705d1206-c5a5-4833-9a93-6880ebd8cadd","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401688,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OH0.VSqE2mh7qrqn5hVPEwRQTHxdCyRKyGalgt9RFr3YqTI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ca9f22f03e359b360ffb0ce7e6380447"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/705d1206-c5a5-4833-9a93-6880ebd8cadd/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.020","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"ca9f22f03e359b360ffb0ce7e6380447"} device-1 | {"level":"info","message":"POST /devices/705d1206-c5a5-4833-9a93-6880ebd8cadd/websocket 200 14ms","method":"POST","requestID":"ca9f22f03e359b360ffb0ce7e6380447","responseTime":14,"status":200,"url":"/devices/705d1206-c5a5-4833-9a93-6880ebd8cadd/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2bf8d69a-491a-460c-90eb-83e54c92022e' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/705d1206-c5a5-4833-9a93-6880ebd8cadd' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OH0.VSqE2mh7qrqn5hVPEwRQTHxdCyRKyGalgt9RFr3YqTI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4cd69cabf69e862914b431e5fdbf24c3","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.895192,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/705d1206-c5a5-4833-9a93-6880ebd8cadd","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/705d1206-c5a5-4833-9a93-6880ebd8cadd","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401688,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OH0.VSqE2mh7qrqn5hVPEwRQTHxdCyRKyGalgt9RFr3YqTI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4cd69cabf69e862914b431e5fdbf24c3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F705d1206-c5a5-4833-9a93-6880ebd8cadd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F705d1206-c5a5-4833-9a93-6880ebd8cadd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:27.687602896Z"}]},"request_id":"dd5b2a18-96da-4121-b8b2-bae2edd6ec74","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401688.3450742} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4cd69cabf69e862914b431e5fdbf24c3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/705d1206-c5a5-4833-9a93-6880ebd8cadd? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4cd69cabf69e862914b431e5fdbf24c3"} device-1 | {"level":"info","message":"GET /devices/705d1206-c5a5-4833-9a93-6880ebd8cadd? 200 21ms","method":"GET","requestID":"4cd69cabf69e862914b431e5fdbf24c3","responseTime":21,"status":200,"url":"/devices/705d1206-c5a5-4833-9a93-6880ebd8cadd?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OH0.VSqE2mh7qrqn5hVPEwRQTHxdCyRKyGalgt9RFr3YqTI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8d6fb4af00a40020f79326c61d3cb359","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.72498,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2bf8d69a-491a-460c-90eb-83e54c92022e","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/2bf8d69a-491a-460c-90eb-83e54c92022e","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401688,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OH0.VSqE2mh7qrqn5hVPEwRQTHxdCyRKyGalgt9RFr3YqTI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8d6fb4af00a40020f79326c61d3cb359"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bf8d69a-491a-460c-90eb-83e54c92022e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bf8d69a-491a-460c-90eb-83e54c92022e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:27.735325659Z"}]},"request_id":"1be6998d-e820-4a44-9ac9-be99fdd9c01d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401688.3683858} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8d6fb4af00a40020f79326c61d3cb359"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2bf8d69a-491a-460c-90eb-83e54c92022e? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8d6fb4af00a40020f79326c61d3cb359"} device-1 | {"level":"info","message":"GET /devices/2bf8d69a-491a-460c-90eb-83e54c92022e? 200 14ms","method":"GET","requestID":"8d6fb4af00a40020f79326c61d3cb359","responseTime":14,"status":200,"url":"/devices/2bf8d69a-491a-460c-90eb-83e54c92022e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OH0.VSqE2mh7qrqn5hVPEwRQTHxdCyRKyGalgt9RFr3YqTI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"74614362ada4674c36d8815f5824c4ed","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.703032,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401688,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OH0.VSqE2mh7qrqn5hVPEwRQTHxdCyRKyGalgt9RFr3YqTI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"74614362ada4674c36d8815f5824c4ed"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29ca901c-8080-40ef-83ee-4fc006acf0f9"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29ca901c-8080-40ef-83ee-4fc006acf0f9"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29ca901c-8080-40ef-83ee-4fc006acf0f9"},"level":"info","message":"Successfully booked experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.872673,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/705d1206-c5a5-4833-9a93-6880ebd8cadd","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/705d1206-c5a5-4833-9a93-6880ebd8cadd","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401688,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OH0.VSqE2mh7qrqn5hVPEwRQTHxdCyRKyGalgt9RFr3YqTI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8fea6ac0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.935076,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2bf8d69a-491a-460c-90eb-83e54c92022e","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/2bf8d69a-491a-460c-90eb-83e54c92022e","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401688,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OH0.VSqE2mh7qrqn5hVPEwRQTHxdCyRKyGalgt9RFr3YqTI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8fea91d0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F705d1206-c5a5-4833-9a93-6880ebd8cadd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F705d1206-c5a5-4833-9a93-6880ebd8cadd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:27.687602896Z"}]},"request_id":"c797f73a-e5d6-48fd-a89d-0e19c6a7b01e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401688.4396927} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8fea6ac0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bf8d69a-491a-460c-90eb-83e54c92022e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bf8d69a-491a-460c-90eb-83e54c92022e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:27.735325659Z"}]},"request_id":"2eca7800-4816-4dd8-93b9-ff648e9f2ac3","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401688.4414217} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8fea91d0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/705d1206-c5a5-4833-9a93-6880ebd8cadd? 200 21ms","method":"GET","requestID":"8fea6ac0-0636-11ef-8c83-05b823ec2e4f","responseTime":21,"status":200,"url":"/devices/705d1206-c5a5-4833-9a93-6880ebd8cadd?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/2bf8d69a-491a-460c-90eb-83e54c92022e? 200 21ms","method":"GET","requestID":"8fea91d0-0636-11ef-8c83-05b823ec2e4f","responseTime":21,"status":200,"url":"/devices/2bf8d69a-491a-460c-90eb-83e54c92022e?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29ca901c-8080-40ef-83ee-4fc006acf0f9"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29ca901c-8080-40ef-83ee-4fc006acf0f9"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29ca901c-8080-40ef-83ee-4fc006acf0f9"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29ca901c-8080-40ef-83ee-4fc006acf0f9"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29ca901c-8080-40ef-83ee-4fc006acf0f9"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29ca901c-8080-40ef-83ee-4fc006acf0f9"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29ca901c-8080-40ef-83ee-4fc006acf0f9"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29ca901c-8080-40ef-83ee-4fc006acf0f9"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.238163,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:28Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29ca901c-8080-40ef-83ee-4fc006acf0f9"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/705d1206-c5a5-4833-9a93-6880ebd8cadd","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/705d1206-c5a5-4833-9a93-6880ebd8cadd","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401688,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OH0.VSqE2mh7qrqn5hVPEwRQTHxdCyRKyGalgt9RFr3YqTI"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8ff678b0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.547175,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2bf8d69a-491a-460c-90eb-83e54c92022e","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/2bf8d69a-491a-460c-90eb-83e54c92022e","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401688,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OH0.VSqE2mh7qrqn5hVPEwRQTHxdCyRKyGalgt9RFr3YqTI"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8ff6c6d0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.979327,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F705d1206-c5a5-4833-9a93-6880ebd8cadd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8ba3451d-20ca-4b16-ba21-7a57e0254faf","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401688.5224864} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/705d1206-c5a5-4833-9a93-6880ebd8cadd","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/705d1206-c5a5-4833-9a93-6880ebd8cadd","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8ff73c00-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F705d1206-c5a5-4833-9a93-6880ebd8cadd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F705d1206-c5a5-4833-9a93-6880ebd8cadd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:27.687602896Z"}]},"request_id":"f6b37b19-c944-4b0f-aa1d-73e3f0fff2e9","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401688.5260448} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/705d1206-c5a5-4833-9a93-6880ebd8cadd/signaling 200 22ms","method":"POST","requestID":"8ff73c00-0636-11ef-8c83-05b823ec2e4f","responseTime":22,"status":200,"url":"/devices/705d1206-c5a5-4833-9a93-6880ebd8cadd/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8ff678b0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bf8d69a-491a-460c-90eb-83e54c92022e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bf8d69a-491a-460c-90eb-83e54c92022e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:27.735325659Z"}]},"request_id":"b183bb50-366d-487a-b99d-da91dc2b1181","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401688.5339384} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8ff6c6d0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F29ca901c-8080-40ef-83ee-4fc006acf0f9#owner@http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F29ca901c-8080-40ef-83ee-4fc006acf0f9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"06898ee7-3fb4-40b8-8abd-b356777bd17e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401688.5402405} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1a15e30f-21a0-4590-b01c-565b5c1c0698","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401688.54038} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/705d1206-c5a5-4833-9a93-6880ebd8cadd? 200 37ms","method":"GET","requestID":"8ff678b0-0636-11ef-8c83-05b823ec2e4f","responseTime":37,"status":200,"url":"/devices/705d1206-c5a5-4833-9a93-6880ebd8cadd?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"74614362ada4674c36d8815f5824c4ed"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":22}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bf8d69a-491a-460c-90eb-83e54c92022e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"57fdfdf1-2936-446d-b8bf-361c1e087135","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401688.5448854} device-1 | {"level":"info","message":"GET /devices/2bf8d69a-491a-460c-90eb-83e54c92022e? 200 36ms","method":"GET","requestID":"8ff6c6d0-0636-11ef-8c83-05b823ec2e4f","responseTime":36,"status":200,"url":"/devices/2bf8d69a-491a-460c-90eb-83e54c92022e?"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.317489,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2bf8d69a-491a-460c-90eb-83e54c92022e","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2bf8d69a-491a-460c-90eb-83e54c92022e","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8ffb0c90-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/2bf8d69a-491a-460c-90eb-83e54c92022e/signaling 200 15ms","method":"POST","requestID":"8ffb0c90-0636-11ef-8c83-05b823ec2e4f","responseTime":15,"status":200,"url":"/devices/2bf8d69a-491a-460c-90eb-83e54c92022e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:28Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/29ca901c-8080-40ef-83ee-4fc006acf0f9","user":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"29/Apr/2024:14:41:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"815","request_time":"0.184","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"74614362ada4674c36d8815f5824c4ed"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F705d1206-c5a5-4833-9a93-6880ebd8cadd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2dda3546-25e0-44ac-89cc-a54049ddb5e0","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401688.5595124} experiment-1 | {"level":"info","message":"POST /experiments? 201 180ms","method":"POST","requestID":"74614362ada4674c36d8815f5824c4ed","responseTime":180,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.39634,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/705d1206-c5a5-4833-9a93-6880ebd8cadd","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/705d1206-c5a5-4833-9a93-6880ebd8cadd","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8ffd7d90-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OH0.VSqE2mh7qrqn5hVPEwRQTHxdCyRKyGalgt9RFr3YqTI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4a09db66568be454d3eba479bff6b404","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/705d1206-c5a5-4833-9a93-6880ebd8cadd/signaling 200 14ms","method":"POST","requestID":"8ffd7d90-0636-11ef-8c83-05b823ec2e4f","responseTime":14,"status":200,"url":"/devices/705d1206-c5a5-4833-9a93-6880ebd8cadd/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.945882,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/705d1206-c5a5-4833-9a93-6880ebd8cadd","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/705d1206-c5a5-4833-9a93-6880ebd8cadd","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401688,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OH0.VSqE2mh7qrqn5hVPEwRQTHxdCyRKyGalgt9RFr3YqTI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4a09db66568be454d3eba479bff6b404"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F705d1206-c5a5-4833-9a93-6880ebd8cadd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F705d1206-c5a5-4833-9a93-6880ebd8cadd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:27.687602896Z"}]},"request_id":"22c9deba-6ebc-4e91-99e9-7980a42ca667","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401688.5804145} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4a09db66568be454d3eba479bff6b404"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bf8d69a-491a-460c-90eb-83e54c92022e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3a7f4749-5418-4fb2-9571-9703c2dc6898","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401688.5813062} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.155567,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2bf8d69a-491a-460c-90eb-83e54c92022e","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2bf8d69a-491a-460c-90eb-83e54c92022e","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"90003cb0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/705d1206-c5a5-4833-9a93-6880ebd8cadd? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4a09db66568be454d3eba479bff6b404"} device-1 | {"level":"info","message":"GET /devices/705d1206-c5a5-4833-9a93-6880ebd8cadd? 200 21ms","method":"GET","requestID":"4a09db66568be454d3eba479bff6b404","responseTime":21,"status":200,"url":"/devices/705d1206-c5a5-4833-9a93-6880ebd8cadd?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/2bf8d69a-491a-460c-90eb-83e54c92022e/signaling 200 20ms","method":"POST","requestID":"90003cb0-0636-11ef-8c83-05b823ec2e4f","responseTime":20,"status":200,"url":"/devices/2bf8d69a-491a-460c-90eb-83e54c92022e/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29ca901c-8080-40ef-83ee-4fc006acf0f9"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29ca901c-8080-40ef-83ee-4fc006acf0f9"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"e91279b3-1ea5-4072-9c3c-fbf4db33c362"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"3d01d5d6-dafa-46af-8b43-bdd38899e337"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"0deb8acd-9a4c-4c22-a7ba-7ed154fd3b02"}]},"level":"info","message":"Built pairwise service configurations"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/2bf8d69a-491a-460c-90eb-83e54c92022e"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/705d1206-c5a5-4833-9a93-6880ebd8cadd"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OH0.VSqE2mh7qrqn5hVPEwRQTHxdCyRKyGalgt9RFr3YqTI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e1507a8062771fbccacadd4e8e557d52","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.908912,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401688,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OH0.VSqE2mh7qrqn5hVPEwRQTHxdCyRKyGalgt9RFr3YqTI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9003e630-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.82487,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2bf8d69a-491a-460c-90eb-83e54c92022e","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/2bf8d69a-491a-460c-90eb-83e54c92022e","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401688,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OH0.VSqE2mh7qrqn5hVPEwRQTHxdCyRKyGalgt9RFr3YqTI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1507a8062771fbccacadd4e8e557d52"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bf8d69a-491a-460c-90eb-83e54c92022e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bf8d69a-491a-460c-90eb-83e54c92022e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:27.735325659Z"}]},"request_id":"b510b36b-994a-4bb8-a140-31ef54178d7d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401688.6089067} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1507a8062771fbccacadd4e8e557d52"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2bf8d69a-491a-460c-90eb-83e54c92022e? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e1507a8062771fbccacadd4e8e557d52"} device-1 | {"level":"info","message":"GET /devices/2bf8d69a-491a-460c-90eb-83e54c92022e? 200 16ms","method":"GET","requestID":"e1507a8062771fbccacadd4e8e557d52","responseTime":16,"status":200,"url":"/devices/2bf8d69a-491a-460c-90eb-83e54c92022e?"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","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%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"56bc25c2-fc0d-4bb1-bb99-f2535633c62d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401688.615064} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"078a522b-a09a-4fc4-84ff-9b5a5629b7cd","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401688.6154406} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9003e630-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/55563cb2-4111-459a-b272-95541c1d5c97'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/55563cb2-4111-459a-b272-95541c1d5c97'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 48ms","method":"POST","requestID":"9003e630-0636-11ef-8c83-05b823ec2e4f","responseTime":48,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device-1 | {"data":{"peerconnection":"55563cb2-4111-459a-b272-95541c1d5c97","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"55563cb2-4111-459a-b272-95541c1d5c97","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29ca901c-8080-40ef-83ee-4fc006acf0f9"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/55563cb2-4111-459a-b272-95541c1d5c97' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"55563cb2-4111-459a-b272-95541c1d5c97","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"d64da97f2dc6561988c984d98f7f10b7","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/2bf8d69a-491a-460c-90eb-83e54c92022e"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/705d1206-c5a5-4833-9a93-6880ebd8cadd"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/55563cb2-4111-459a-b272-95541c1d5c97"}}},"level":"info","message":"received a callback"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F705d1206-c5a5-4833-9a93-6880ebd8cadd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c675844b-84db-4c1b-8cf2-832b1db1a8e1","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401688.7003124} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.652272,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/705d1206-c5a5-4833-9a93-6880ebd8cadd","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/705d1206-c5a5-4833-9a93-6880ebd8cadd","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"90130160-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"d64da97f2dc6561988c984d98f7f10b7","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"d64da97f2dc6561988c984d98f7f10b7"} device-1 | {"data":{"peerconnection":"55563cb2-4111-459a-b272-95541c1d5c97","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/705d1206-c5a5-4833-9a93-6880ebd8cadd/signaling 200 18ms","method":"POST","requestID":"90130160-0636-11ef-8c83-05b823ec2e4f","responseTime":18,"status":200,"url":"/devices/705d1206-c5a5-4833-9a93-6880ebd8cadd/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bf8d69a-491a-460c-90eb-83e54c92022e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d3e45b26-d24c-4fd7-961b-fce4d7bacebf","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401688.72026} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.646602,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2bf8d69a-491a-460c-90eb-83e54c92022e","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2bf8d69a-491a-460c-90eb-83e54c92022e","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"901635b0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/2bf8d69a-491a-460c-90eb-83e54c92022e/signaling 200 10ms","method":"POST","requestID":"901635b0-0636-11ef-8c83-05b823ec2e4f","responseTime":10,"status":200,"url":"/devices/2bf8d69a-491a-460c-90eb-83e54c92022e/signaling"} device-1 | {"data":{"peerconnection":"55563cb2-4111-459a-b272-95541c1d5c97","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/55563cb2-4111-459a-b272-95541c1d5c97' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"55563cb2-4111-459a-b272-95541c1d5c97","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3f75187504fe499c0a843878f29db263","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/2bf8d69a-491a-460c-90eb-83e54c92022e"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/705d1206-c5a5-4833-9a93-6880ebd8cadd"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/55563cb2-4111-459a-b272-95541c1d5c97"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F55563cb2-4111-459a-b272-95541c1d5c97","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ddc1f9b6-380c-4afc-94d9-cab31a328573","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401688.757136} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.27303,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/55563cb2-4111-459a-b272-95541c1d5c97","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/55563cb2-4111-459a-b272-95541c1d5c97","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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"901bb3f0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/55563cb2-4111-459a-b272-95541c1d5c97 200 11ms","method":"GET","requestID":"901bb3f0-0636-11ef-8c83-05b823ec2e4f","responseTime":11,"status":200,"url":"/peerconnections/55563cb2-4111-459a-b272-95541c1d5c97"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 39ms","method":"POST","requestID":"3f75187504fe499c0a843878f29db263","responseTime":39,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.042","http_referrer":"","http_user_agent":"node-fetch","requestID":"3f75187504fe499c0a843878f29db263"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bf8d69a-491a-460c-90eb-83e54c92022e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4f84d4ff-2020-41e2-a519-9183a02e1c34","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401688.7889912} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.572044,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2bf8d69a-491a-460c-90eb-83e54c92022e","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2bf8d69a-491a-460c-90eb-83e54c92022e","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9020bd00-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/2bf8d69a-491a-460c-90eb-83e54c92022e/signaling 200 10ms","method":"POST","requestID":"9020bd00-0636-11ef-8c83-05b823ec2e4f","responseTime":10,"status":200,"url":"/devices/2bf8d69a-491a-460c-90eb-83e54c92022e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F705d1206-c5a5-4833-9a93-6880ebd8cadd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9ac34ef9-77fa-4dc0-8347-bf7ec117af29","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401688.801621} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.543589,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/705d1206-c5a5-4833-9a93-6880ebd8cadd","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/705d1206-c5a5-4833-9a93-6880ebd8cadd","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"902291c0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/705d1206-c5a5-4833-9a93-6880ebd8cadd/signaling 200 12ms","method":"POST","requestID":"902291c0-0636-11ef-8c83-05b823ec2e4f","responseTime":12,"status":200,"url":"/devices/705d1206-c5a5-4833-9a93-6880ebd8cadd/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OH0.VSqE2mh7qrqn5hVPEwRQTHxdCyRKyGalgt9RFr3YqTI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"42e5d74256a7d1845b1c0568219350aa","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/29ca901c-8080-40ef-83ee-4fc006acf0f9"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.339265,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/29ca901c-8080-40ef-83ee-4fc006acf0f9","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/29ca901c-8080-40ef-83ee-4fc006acf0f9","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401688,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OH0.VSqE2mh7qrqn5hVPEwRQTHxdCyRKyGalgt9RFr3YqTI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"42e5d74256a7d1845b1c0568219350aa"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/29ca901c-8080-40ef-83ee-4fc006acf0f9"} gateway-1 | {"time_local":"29/Apr/2024:14:41:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/29ca901c-8080-40ef-83ee-4fc006acf0f9 HTTP/1.1","status": "200","body_bytes_sent":"888","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"42e5d74256a7d1845b1c0568219350aa"} experiment-1 | {"level":"info","message":"GET /experiments/29ca901c-8080-40ef-83ee-4fc006acf0f9 200 18ms","method":"GET","requestID":"42e5d74256a7d1845b1c0568219350aa","responseTime":18,"status":200,"url":"/experiments/29ca901c-8080-40ef-83ee-4fc006acf0f9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OH0.VSqE2mh7qrqn5hVPEwRQTHxdCyRKyGalgt9RFr3YqTI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"315db48bb7c7634714aeb72ef9f17d01","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/29ca901c-8080-40ef-83ee-4fc006acf0f9"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.206109,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/29ca901c-8080-40ef-83ee-4fc006acf0f9","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/29ca901c-8080-40ef-83ee-4fc006acf0f9","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401688,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OH0.VSqE2mh7qrqn5hVPEwRQTHxdCyRKyGalgt9RFr3YqTI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"315db48bb7c7634714aeb72ef9f17d01"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29ca901c-8080-40ef-83ee-4fc006acf0f9"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.344293,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/55563cb2-4111-459a-b272-95541c1d5c97","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:http://localhost/peerconnections/55563cb2-4111-459a-b272-95541c1d5c97","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401688,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OH0.VSqE2mh7qrqn5hVPEwRQTHxdCyRKyGalgt9RFr3YqTI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"902f6300-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/55563cb2-4111-459a-b272-95541c1d5c97' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/55563cb2-4111-459a-b272-95541c1d5c97' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"55563cb2-4111-459a-b272-95541c1d5c97","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F55563cb2-4111-459a-b272-95541c1d5c97': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F55563cb2-4111-459a-b272-95541c1d5c97","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"eec7a457-3b34-4ef0-9c8f-d666a2acf249","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401688.909962} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2b80075d6a3aaa0b9c4b6de8f099e444","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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b15934a8-1b97-4538-938e-10648b1084d1","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401688.9108534} 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/2bf8d69a-491a-460c-90eb-83e54c92022e"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/705d1206-c5a5-4833-9a93-6880ebd8cadd"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/55563cb2-4111-459a-b272-95541c1d5c97"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"902f6300-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"52d9593ba4a4973bae912b89ab183d99","responseTime":2,"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/2bf8d69a-491a-460c-90eb-83e54c92022e"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/705d1206-c5a5-4833-9a93-6880ebd8cadd"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/55563cb2-4111-459a-b272-95541c1d5c97"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"55563cb2-4111-459a-b272-95541c1d5c97","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/55563cb2-4111-459a-b272-95541c1d5c97 204 64ms","method":"DELETE","requestID":"902f6300-0636-11ef-8c83-05b823ec2e4f","responseTime":64,"status":204,"url":"/peerconnections/55563cb2-4111-459a-b272-95541c1d5c97"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29ca901c-8080-40ef-83ee-4fc006acf0f9"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bf8d69a-491a-460c-90eb-83e54c92022e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"62110a2b-80b9-4cff-8ca4-48e10fd151cf","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401688.9787374} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.087511,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2bf8d69a-491a-460c-90eb-83e54c92022e","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2bf8d69a-491a-460c-90eb-83e54c92022e","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"903d45b0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/2bf8d69a-491a-460c-90eb-83e54c92022e/signaling 200 13ms","method":"POST","requestID":"903d45b0-0636-11ef-8c83-05b823ec2e4f","responseTime":13,"status":200,"url":"/devices/2bf8d69a-491a-460c-90eb-83e54c92022e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F29ca901c-8080-40ef-83ee-4fc006acf0f9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F29ca901c-8080-40ef-83ee-4fc006acf0f9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"d8c7a5b5-7eec-4427-aec9-158a528366a9","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401688.9912796} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"162866d1-0027-4c29-a597-e16b90c31d2a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401688.9918303} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 24ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"315db48bb7c7634714aeb72ef9f17d01"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":24}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.961109,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:28Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F705d1206-c5a5-4833-9a93-6880ebd8cadd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"11aea75c-e5a6-4b2d-8e8a-d17114aed600","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401688.994752} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/705d1206-c5a5-4833-9a93-6880ebd8cadd","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/705d1206-c5a5-4833-9a93-6880ebd8cadd","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"903fddc0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/705d1206-c5a5-4833-9a93-6880ebd8cadd/signaling 200 13ms","method":"POST","requestID":"903fddc0-0636-11ef-8c83-05b823ec2e4f","responseTime":13,"status":200,"url":"/devices/705d1206-c5a5-4833-9a93-6880ebd8cadd/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/29ca901c-8080-40ef-83ee-4fc006acf0f9"} gateway-1 | {"time_local":"29/Apr/2024:14:41:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/29ca901c-8080-40ef-83ee-4fc006acf0f9 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.206","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"315db48bb7c7634714aeb72ef9f17d01"} gateway-1 | {"time_local":"29/Apr/2024:14:41:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1960","request_time":"0.756","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"7d093bdc90c832581703142f5ad55104"} gateway-1 | {"time_local":"29/Apr/2024:14:41:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1960","request_time":"0.767","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"4d70c5edf98aed9393261a9e7c86b5be"} experiment-1 | {"level":"info","message":"DELETE /experiments/29ca901c-8080-40ef-83ee-4fc006acf0f9 204 201ms","method":"DELETE","requestID":"315db48bb7c7634714aeb72ef9f17d01","responseTime":201,"status":204,"url":"/experiments/29ca901c-8080-40ef-83ee-4fc006acf0f9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 152ms","method":"POST","requestID":"2b80075d6a3aaa0b9c4b6de8f099e444","responseTime":152,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.158","http_referrer":"","http_user_agent":"node-fetch","requestID":"2b80075d6a3aaa0b9c4b6de8f099e444"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 150ms","method":"POST","requestID":"52d9593ba4a4973bae912b89ab183d99","responseTime":150,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.158","http_referrer":"","http_user_agent":"node-fetch","requestID":"52d9593ba4a4973bae912b89ab183d99"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OX0.KHKkqpkXzXY0Z8wXsADMH7X8WfQVFP21ZRTRLqBGNms","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4675e6de97add03416e32f5af70495ad","responseTime":3,"status":200,"url":"/auth"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/2bf8d69a-491a-460c-90eb-83e54c92022e' closed"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:29Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.829399,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401689,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OX0.KHKkqpkXzXY0Z8wXsADMH7X8WfQVFP21ZRTRLqBGNms"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4675e6de97add03416e32f5af70495ad"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/705d1206-c5a5-4833-9a93-6880ebd8cadd' 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:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e3a1939-f6d1-423c-9a30-08802bb3f080","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3cd25432-5338-4ed5-889d-767d79eeea0b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.0905173} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4675e6de97add03416e32f5af70495ad"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dd84519f-048a-44ee-841d-48a843440698","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.097579} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4675e6de97add03416e32f5af70495ad"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e3a1939-f6d1-423c-9a30-08802bb3f080","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"c9d7af94-1356-48a8-b608-cd20e00ddd40","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.1094143} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e9d6da31-9be9-4698-b3d2-f7fb2d6997ef","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.109607} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4675e6de97add03416e32f5af70495ad"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e3a1939-f6d1-423c-9a30-08802bb3f080","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e3a1939-f6d1-423c-9a30-08802bb3f080","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:29.109391916Z"}]},"request_id":"781337b5-8f32-48af-802c-08e05cbb8a67","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.115141} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4675e6de97add03416e32f5af70495ad"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4675e6de97add03416e32f5af70495ad"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"4675e6de97add03416e32f5af70495ad","responseTime":46,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OX0.KHKkqpkXzXY0Z8wXsADMH7X8WfQVFP21ZRTRLqBGNms","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7a4d2b3daebbf929174996007504a203","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:29Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.203584,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401689,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OX0.KHKkqpkXzXY0Z8wXsADMH7X8WfQVFP21ZRTRLqBGNms"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a4d2b3daebbf929174996007504a203"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee7193c2-a29b-4832-af38-59679434b651","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1dbd5097-3135-45c7-a85f-7e01a582b5b6","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.1454983} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a4d2b3daebbf929174996007504a203"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"02593ff9-f771-4198-8b7a-14eeb5d23dad","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.1510234} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a4d2b3daebbf929174996007504a203"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee7193c2-a29b-4832-af38-59679434b651","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"eff201e8-a809-4ba7-b8d8-185a21f4c7e4","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.1667445} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4b05259d-ef46-4efe-953d-40d70ab9edac","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.1670167} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a4d2b3daebbf929174996007504a203"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee7193c2-a29b-4832-af38-59679434b651","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee7193c2-a29b-4832-af38-59679434b651","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:29.166724901Z"}]},"request_id":"ced22835-3c2e-4b24-97b4-d3837ad62495","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.173855} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a4d2b3daebbf929174996007504a203"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7a4d2b3daebbf929174996007504a203"} device-1 | {"level":"info","message":"POST /devices? 201 52ms","method":"POST","requestID":"7a4d2b3daebbf929174996007504a203","responseTime":52,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OX0.KHKkqpkXzXY0Z8wXsADMH7X8WfQVFP21ZRTRLqBGNms","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"bc608830015cec75f6ce9f2626d9b59f","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:29Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.848728,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401689,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OX0.KHKkqpkXzXY0Z8wXsADMH7X8WfQVFP21ZRTRLqBGNms"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bc608830015cec75f6ce9f2626d9b59f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ebba5ab-c4f1-4e02-be3b-e65463558e98","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e34cdf7b-e526-4442-9f24-81f97c7340e4","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.2047057} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bc608830015cec75f6ce9f2626d9b59f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"68b6bcd2-7760-438b-bb95-f5f23216f820","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.2111444} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bc608830015cec75f6ce9f2626d9b59f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ebba5ab-c4f1-4e02-be3b-e65463558e98","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"aeb66953-9b73-4486-afe6-264efabfa33e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.2203639} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"35adf277-6a32-42fe-97f9-45e1c28b3afb","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.2205913} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bc608830015cec75f6ce9f2626d9b59f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ebba5ab-c4f1-4e02-be3b-e65463558e98","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ebba5ab-c4f1-4e02-be3b-e65463558e98","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:29.220346961Z"}]},"request_id":"2b50f625-88eb-44ce-b7d7-b34c0ce1271a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.2243948} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bc608830015cec75f6ce9f2626d9b59f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"bc608830015cec75f6ce9f2626d9b59f","responseTime":41,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2024:14:41:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bc608830015cec75f6ce9f2626d9b59f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OX0.KHKkqpkXzXY0Z8wXsADMH7X8WfQVFP21ZRTRLqBGNms","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"45eae130a9077af74857e3addfbfa9e7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:29Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.648908,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401689,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OX0.KHKkqpkXzXY0Z8wXsADMH7X8WfQVFP21ZRTRLqBGNms"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45eae130a9077af74857e3addfbfa9e7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b890ed4-681d-45b3-95bc-aed8d11adb03","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f62c7da5-13f4-415c-8bcd-5a888459334c","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.250367} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45eae130a9077af74857e3addfbfa9e7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d7efe0fc-a7f9-47d5-ae9f-6e30f3d134c5","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.2549598} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45eae130a9077af74857e3addfbfa9e7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b890ed4-681d-45b3-95bc-aed8d11adb03","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"49523cd5-baea-4edb-b5bd-0cb6ef740190","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.2652502} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4951b511-63b8-48d2-a0bf-4fcc293275bc","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.2653875} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45eae130a9077af74857e3addfbfa9e7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b890ed4-681d-45b3-95bc-aed8d11adb03","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b890ed4-681d-45b3-95bc-aed8d11adb03","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:29.265235147Z"}]},"request_id":"e29d075f-0015-4308-a5bd-0f1907e8a2c5","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.2724736} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45eae130a9077af74857e3addfbfa9e7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"45eae130a9077af74857e3addfbfa9e7","responseTime":44,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2024:14:41:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"45eae130a9077af74857e3addfbfa9e7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OX0.KHKkqpkXzXY0Z8wXsADMH7X8WfQVFP21ZRTRLqBGNms","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f3febfca2bfba06f349073b10dd8b73d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:29Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.836953,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401689,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OX0.KHKkqpkXzXY0Z8wXsADMH7X8WfQVFP21ZRTRLqBGNms"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3febfca2bfba06f349073b10dd8b73d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2bbc260-15f3-4413-8776-1377b63c5a81","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"166c2efe-46ef-4e96-abb1-be631a605d2b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.3012285} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3febfca2bfba06f349073b10dd8b73d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"26d530df-0dff-49dd-91f6-962ce6ddcf53","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.3072448} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3febfca2bfba06f349073b10dd8b73d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2bbc260-15f3-4413-8776-1377b63c5a81","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"51f41593-50d6-4947-902e-52043392c94d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.316944} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"50fc194f-8d8a-498a-b832-4361f68b71f7","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.3170643} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3febfca2bfba06f349073b10dd8b73d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2bbc260-15f3-4413-8776-1377b63c5a81","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2bbc260-15f3-4413-8776-1377b63c5a81","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:29.316929877Z"}]},"request_id":"3d28da14-b0f5-4265-bdfe-db6226a45d05","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.3216782} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3febfca2bfba06f349073b10dd8b73d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"f3febfca2bfba06f349073b10dd8b73d","responseTime":43,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2024:14:41:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f3febfca2bfba06f349073b10dd8b73d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OX0.KHKkqpkXzXY0Z8wXsADMH7X8WfQVFP21ZRTRLqBGNms","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a8a3c584bb52932ae9fdc13a65f1ca36","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:29Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.022708,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401689,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OX0.KHKkqpkXzXY0Z8wXsADMH7X8WfQVFP21ZRTRLqBGNms"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a8a3c584bb52932ae9fdc13a65f1ca36"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42f3e499-b913-4a63-bb03-8a10fdb8165d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"01d24f3a-5fa2-4d47-9a63-2d4f23f628b0","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.3476639} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a8a3c584bb52932ae9fdc13a65f1ca36"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9bfbd7d9-d624-4bd9-b9a9-fb60e75b7a45","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.3519928} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a8a3c584bb52932ae9fdc13a65f1ca36"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42f3e499-b913-4a63-bb03-8a10fdb8165d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"1cbf723d-dde9-443a-b3ba-80dd5668291c","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.364473} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f6a5ec0c-6ad8-452b-9ef5-a0334eb19b3e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.3646493} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a8a3c584bb52932ae9fdc13a65f1ca36"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42f3e499-b913-4a63-bb03-8a10fdb8165d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42f3e499-b913-4a63-bb03-8a10fdb8165d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:29.364459647Z"}]},"request_id":"052ddfc7-bf88-4a97-9599-ea43a4632ce1","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.3689613} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a8a3c584bb52932ae9fdc13a65f1ca36"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a8a3c584bb52932ae9fdc13a65f1ca36"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"a8a3c584bb52932ae9fdc13a65f1ca36","responseTime":42,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OX0.KHKkqpkXzXY0Z8wXsADMH7X8WfQVFP21ZRTRLqBGNms","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a0ca79e4e16dbe3f47637a011a8d94d3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:29Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.310777,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401689,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OX0.KHKkqpkXzXY0Z8wXsADMH7X8WfQVFP21ZRTRLqBGNms"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a0ca79e4e16dbe3f47637a011a8d94d3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F958feffe-e002-4cd2-aa15-85eef58fd4b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"38fefb40-f3f6-4c5e-a691-20ed8c9cfd08","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.3956738} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a0ca79e4e16dbe3f47637a011a8d94d3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ef9eaf71-c548-4970-b9a8-3d6daab497da","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.4013402} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a0ca79e4e16dbe3f47637a011a8d94d3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F958feffe-e002-4cd2-aa15-85eef58fd4b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"7c620712-8eab-489b-9503-8738d5b884c4","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.4115417} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4dc7ed30-99b4-4b6e-8c1d-4d4284bb25d5","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.411781} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a0ca79e4e16dbe3f47637a011a8d94d3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F958feffe-e002-4cd2-aa15-85eef58fd4b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F958feffe-e002-4cd2-aa15-85eef58fd4b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:29.411522790Z"}]},"request_id":"b5731ed9-87c2-4ce1-925b-6863a010bb34","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.41677} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a0ca79e4e16dbe3f47637a011a8d94d3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a0ca79e4e16dbe3f47637a011a8d94d3"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"a0ca79e4e16dbe3f47637a011a8d94d3","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OX0.KHKkqpkXzXY0Z8wXsADMH7X8WfQVFP21ZRTRLqBGNms","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"7b93a046494912be0f5a883c1f75651b","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:29Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.249728,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401689,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OX0.KHKkqpkXzXY0Z8wXsADMH7X8WfQVFP21ZRTRLqBGNms"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7b93a046494912be0f5a883c1f75651b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6e537d9d-9827-4678-9860-551b5938c77d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d0043e77-80b9-44c0-a19c-45f86cb899dc","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.4528253} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7b93a046494912be0f5a883c1f75651b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1924ec9b-385a-41e6-aa92-29b6946c680d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.4594646} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7b93a046494912be0f5a883c1f75651b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6e537d9d-9827-4678-9860-551b5938c77d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"23a62202-37ec-4b99-abee-2fa969055e34","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.4736488} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fd7a6c8d-f226-4040-b304-0616416011b3","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.4737518} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7b93a046494912be0f5a883c1f75651b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6e537d9d-9827-4678-9860-551b5938c77d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6e537d9d-9827-4678-9860-551b5938c77d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:29.473635619Z"}]},"request_id":"ff4d237b-36a1-4cf0-b85f-899d76c783d7","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.4800234} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7b93a046494912be0f5a883c1f75651b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 53ms","method":"POST","requestID":"7b93a046494912be0f5a883c1f75651b","responseTime":53,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2024:14:41:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.061","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7b93a046494912be0f5a883c1f75651b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OX0.KHKkqpkXzXY0Z8wXsADMH7X8WfQVFP21ZRTRLqBGNms","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"07293051f9ca2c6e355510939f349563","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:29Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.296889,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401689,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OX0.KHKkqpkXzXY0Z8wXsADMH7X8WfQVFP21ZRTRLqBGNms"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"07293051f9ca2c6e355510939f349563"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fad80301c-648a-43d3-8854-1ae989f19c7f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7f812a8e-b1b1-4d0c-8c44-3a4c7255e21b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.5139344} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"07293051f9ca2c6e355510939f349563"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f93a3180-9e1d-471a-b953-e9a31b565c3f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.521438} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"07293051f9ca2c6e355510939f349563"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fad80301c-648a-43d3-8854-1ae989f19c7f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"f32d7e7b-aead-411e-9103-ac880c83906d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.5342588} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2b3e4fab-2cf3-4d79-93fd-185be581bc45","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.5344756} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"07293051f9ca2c6e355510939f349563"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fad80301c-648a-43d3-8854-1ae989f19c7f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fad80301c-648a-43d3-8854-1ae989f19c7f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:29.534233874Z"}]},"request_id":"4ac32ab7-31c4-4552-ac8c-2efde3327ec6","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.5413532} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"07293051f9ca2c6e355510939f349563"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 53ms","method":"POST","requestID":"07293051f9ca2c6e355510939f349563","responseTime":53,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2024:14:41:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"07293051f9ca2c6e355510939f349563"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OX0.KHKkqpkXzXY0Z8wXsADMH7X8WfQVFP21ZRTRLqBGNms","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"08d0bc25eee9937752c9ac451bcb6053","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:29Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.217359,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401689,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OX0.KHKkqpkXzXY0Z8wXsADMH7X8WfQVFP21ZRTRLqBGNms"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"08d0bc25eee9937752c9ac451bcb6053"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ab5d130-c6a9-4c0b-b320-183baa0eda16","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"482a3ed6-7b69-48b9-9066-7c1d7ce4bfa7","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.5771284} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"08d0bc25eee9937752c9ac451bcb6053"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b21254e0-aa42-4849-ba29-9d935214fba5","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.5852911} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"08d0bc25eee9937752c9ac451bcb6053"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ab5d130-c6a9-4c0b-b320-183baa0eda16","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"2861badf-af31-4c0a-8bd0-56318633b9b8","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.6000223} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"afeda05b-5861-49f5-aa13-79497eab2675","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.6009355} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"08d0bc25eee9937752c9ac451bcb6053"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ab5d130-c6a9-4c0b-b320-183baa0eda16","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ab5d130-c6a9-4c0b-b320-183baa0eda16","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:29.599914299Z"}]},"request_id":"0fac8055-8eb7-441a-9b3c-287598c64db4","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.609036} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"08d0bc25eee9937752c9ac451bcb6053"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"278","request_time":"0.066","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"08d0bc25eee9937752c9ac451bcb6053"} device-1 | {"level":"info","message":"POST /devices? 201 60ms","method":"POST","requestID":"08d0bc25eee9937752c9ac451bcb6053","responseTime":60,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OX0.KHKkqpkXzXY0Z8wXsADMH7X8WfQVFP21ZRTRLqBGNms","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f3a8747536fd86da566682def09ceb3a","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:29Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.192518,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401689,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OX0.KHKkqpkXzXY0Z8wXsADMH7X8WfQVFP21ZRTRLqBGNms"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3a8747536fd86da566682def09ceb3a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab83047e-398d-4dbd-9dc4-a68313eb8b53","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6dcc717f-638d-4237-9466-ee48be7e25db","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.6520042} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3a8747536fd86da566682def09ceb3a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4190f71d-fd49-4a5f-98fe-c4cc98d97a2c","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.6597881} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3a8747536fd86da566682def09ceb3a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab83047e-398d-4dbd-9dc4-a68313eb8b53","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"192e1544-df05-4958-a312-5da6c804726e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.671891} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b42165fe-6b6d-4dff-aef0-3f6a2e4e6729","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.6721053} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3a8747536fd86da566682def09ceb3a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab83047e-398d-4dbd-9dc4-a68313eb8b53","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab83047e-398d-4dbd-9dc4-a68313eb8b53","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:29.671878014Z"}]},"request_id":"d8773c9e-2e44-4090-9d28-ef73c9fa0fae","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.6780963} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3a8747536fd86da566682def09ceb3a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1069","request_time":"0.066","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f3a8747536fd86da566682def09ceb3a"} device-1 | {"level":"info","message":"POST /devices? 201 59ms","method":"POST","requestID":"f3a8747536fd86da566682def09ceb3a","responseTime":59,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OX0.KHKkqpkXzXY0Z8wXsADMH7X8WfQVFP21ZRTRLqBGNms","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0b73b8a97a5dc17ea3727ee5a2258f6d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:29Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.280479,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401689,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OX0.KHKkqpkXzXY0Z8wXsADMH7X8WfQVFP21ZRTRLqBGNms"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0b73b8a97a5dc17ea3727ee5a2258f6d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F049eb99c-442f-49cc-98c2-5658b25c8093","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8b8bc63f-e1ef-4106-8655-8f814b23ec5f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.7159731} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0b73b8a97a5dc17ea3727ee5a2258f6d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bb671ac1-ad23-4c87-a395-01776fbe7926","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.7245011} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0b73b8a97a5dc17ea3727ee5a2258f6d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F049eb99c-442f-49cc-98c2-5658b25c8093","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"f4b285f4-71f9-4928-91af-954ee88ae39f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.73728} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a5b5e04b-d54c-42ca-b9b0-18bb96e7c140","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.7377865} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0b73b8a97a5dc17ea3727ee5a2258f6d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F049eb99c-442f-49cc-98c2-5658b25c8093","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F049eb99c-442f-49cc-98c2-5658b25c8093","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:29.737245130Z"}]},"request_id":"495bbd8f-a0d2-4a96-a332-f9167b3d7c32","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.7474072} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0b73b8a97a5dc17ea3727ee5a2258f6d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1347","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0b73b8a97a5dc17ea3727ee5a2258f6d"} device-1 | {"level":"info","message":"POST /devices? 201 59ms","method":"POST","requestID":"0b73b8a97a5dc17ea3727ee5a2258f6d","responseTime":59,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OX0.KHKkqpkXzXY0Z8wXsADMH7X8WfQVFP21ZRTRLqBGNms","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1b4ff6f14df86b3e0228714573312944","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:29Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.222424,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401689,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OX0.KHKkqpkXzXY0Z8wXsADMH7X8WfQVFP21ZRTRLqBGNms"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1b4ff6f14df86b3e0228714573312944"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4cf25de-1339-4163-a429-271ba064851b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"fa0600bc-d62f-41fd-8a66-2082d03167ac","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.7849472} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1b4ff6f14df86b3e0228714573312944"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4c9537ce-737c-4123-9553-0bf54ee12b2f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.793163} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1b4ff6f14df86b3e0228714573312944"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4cf25de-1339-4163-a429-271ba064851b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"37a56563-bf82-49e0-bded-8c55cc9632e9","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.804412} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c1fbda11-c883-4833-8b45-2e2e997a0373","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.804766} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1b4ff6f14df86b3e0228714573312944"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4cf25de-1339-4163-a429-271ba064851b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4cf25de-1339-4163-a429-271ba064851b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:29.804389029Z"}]},"request_id":"315edb58-1b8e-4229-a6c8-6fee005b3ef0","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.8103} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1b4ff6f14df86b3e0228714573312944"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1070","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1b4ff6f14df86b3e0228714573312944"} device-1 | {"level":"info","message":"POST /devices? 201 54ms","method":"POST","requestID":"1b4ff6f14df86b3e0228714573312944","responseTime":54,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OX0.KHKkqpkXzXY0Z8wXsADMH7X8WfQVFP21ZRTRLqBGNms","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3b52546c84acb8d5e28f78dcdbe61521","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:29Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.918356,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:29Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ab83047e-398d-4dbd-9dc4-a68313eb8b53","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/ab83047e-398d-4dbd-9dc4-a68313eb8b53","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401689,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OX0.KHKkqpkXzXY0Z8wXsADMH7X8WfQVFP21ZRTRLqBGNms"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3b52546c84acb8d5e28f78dcdbe61521"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab83047e-398d-4dbd-9dc4-a68313eb8b53","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab83047e-398d-4dbd-9dc4-a68313eb8b53","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:29.671878014Z"}]},"request_id":"faaa7375-bc4f-4cd7-b67d-12bf576e0f05","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.8359723} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3b52546c84acb8d5e28f78dcdbe61521"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fac8a8a5-766a-481e-aafc-0770601693f4","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.8423047} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3b52546c84acb8d5e28f78dcdbe61521"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab83047e-398d-4dbd-9dc4-a68313eb8b53","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab83047e-398d-4dbd-9dc4-a68313eb8b53","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:29.671878014Z"}]},"request_id":"62173c37-a406-4cfb-8292-16baf263a9c1","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.8512022} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3b52546c84acb8d5e28f78dcdbe61521"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/ab83047e-398d-4dbd-9dc4-a68313eb8b53? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3b52546c84acb8d5e28f78dcdbe61521"} device-1 | {"level":"info","message":"PATCH /devices/ab83047e-398d-4dbd-9dc4-a68313eb8b53? 200 30ms","method":"PATCH","requestID":"3b52546c84acb8d5e28f78dcdbe61521","responseTime":30,"status":200,"url":"/devices/ab83047e-398d-4dbd-9dc4-a68313eb8b53?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OX0.KHKkqpkXzXY0Z8wXsADMH7X8WfQVFP21ZRTRLqBGNms","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a7416ec25262130697aed5895b89f3e5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:29Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.767113,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:29Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/049eb99c-442f-49cc-98c2-5658b25c8093","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/049eb99c-442f-49cc-98c2-5658b25c8093","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401689,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OX0.KHKkqpkXzXY0Z8wXsADMH7X8WfQVFP21ZRTRLqBGNms"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a7416ec25262130697aed5895b89f3e5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F049eb99c-442f-49cc-98c2-5658b25c8093","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F049eb99c-442f-49cc-98c2-5658b25c8093","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:29.737245130Z"}]},"request_id":"341ef665-f9f8-4fab-9ec4-3a8e8e9d6abc","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.8884246} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a7416ec25262130697aed5895b89f3e5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"11d20e98-ba23-4a78-b523-c7dae57c45d1","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.8958092} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a7416ec25262130697aed5895b89f3e5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F049eb99c-442f-49cc-98c2-5658b25c8093","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F049eb99c-442f-49cc-98c2-5658b25c8093","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:29.737245130Z"}]},"request_id":"d07809fd-42ad-438f-9979-6ce0ad07074d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.9089825} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a7416ec25262130697aed5895b89f3e5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/049eb99c-442f-49cc-98c2-5658b25c8093? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a7416ec25262130697aed5895b89f3e5"} device-1 | {"level":"info","message":"PATCH /devices/049eb99c-442f-49cc-98c2-5658b25c8093? 200 37ms","method":"PATCH","requestID":"a7416ec25262130697aed5895b89f3e5","responseTime":37,"status":200,"url":"/devices/049eb99c-442f-49cc-98c2-5658b25c8093?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OX0.KHKkqpkXzXY0Z8wXsADMH7X8WfQVFP21ZRTRLqBGNms","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"523cf7b0ac189547e43b82822add0fbf","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:29Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.357468,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:29Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4cf25de-1339-4163-a429-271ba064851b","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/e4cf25de-1339-4163-a429-271ba064851b","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401689,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OX0.KHKkqpkXzXY0Z8wXsADMH7X8WfQVFP21ZRTRLqBGNms"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"523cf7b0ac189547e43b82822add0fbf"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4cf25de-1339-4163-a429-271ba064851b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4cf25de-1339-4163-a429-271ba064851b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:29.804389029Z"}]},"request_id":"d12f2118-3976-4459-a8c5-5e13fcceb700","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.935156} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"523cf7b0ac189547e43b82822add0fbf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5c4551f7-96c3-44ce-ae54-ad7c60d57307","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.942986} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"523cf7b0ac189547e43b82822add0fbf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4cf25de-1339-4163-a429-271ba064851b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4cf25de-1339-4163-a429-271ba064851b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:29.804389029Z"}]},"request_id":"90490e1d-65ee-4044-814b-d2e8632c2553","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.9559743} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"523cf7b0ac189547e43b82822add0fbf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/e4cf25de-1339-4163-a429-271ba064851b? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"523cf7b0ac189547e43b82822add0fbf"} device-1 | {"level":"info","message":"PATCH /devices/e4cf25de-1339-4163-a429-271ba064851b? 200 40ms","method":"PATCH","requestID":"523cf7b0ac189547e43b82822add0fbf","responseTime":40,"status":200,"url":"/devices/e4cf25de-1339-4163-a429-271ba064851b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OX0.KHKkqpkXzXY0Z8wXsADMH7X8WfQVFP21ZRTRLqBGNms","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"055f346a773059bd70e8aafdc3b8932d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:29Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.703422,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ab83047e-398d-4dbd-9dc4-a68313eb8b53","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/ab83047e-398d-4dbd-9dc4-a68313eb8b53","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401689,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OX0.KHKkqpkXzXY0Z8wXsADMH7X8WfQVFP21ZRTRLqBGNms"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"055f346a773059bd70e8aafdc3b8932d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab83047e-398d-4dbd-9dc4-a68313eb8b53","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab83047e-398d-4dbd-9dc4-a68313eb8b53","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:29.671878014Z"}]},"request_id":"6243d0ef-a617-42f5-a6ff-6f038b87d6de","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401689.9793715} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"055f346a773059bd70e8aafdc3b8932d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:29Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:29Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.178577,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:29Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.254651,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e3a1939-f6d1-423c-9a30-08802bb3f080","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/3e3a1939-f6d1-423c-9a30-08802bb3f080","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401689,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OX0.KHKkqpkXzXY0Z8wXsADMH7X8WfQVFP21ZRTRLqBGNms"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"055f346a773059bd70e8aafdc3b8932d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee7193c2-a29b-4832-af38-59679434b651","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/ee7193c2-a29b-4832-af38-59679434b651","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401689,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OX0.KHKkqpkXzXY0Z8wXsADMH7X8WfQVFP21ZRTRLqBGNms"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"055f346a773059bd70e8aafdc3b8932d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:37006","level":"info","msg":"Received request.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:30Z"} authorization-1 | {"client_addr":"127.0.0.1:37018","level":"info","msg":"Received request.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:30Z"} authorization-1 | {"client_addr":"127.0.0.1:37006","level":"info","msg":"Sent response.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.849582,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ebba5ab-c4f1-4e02-be3b-e65463558e98","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/1ebba5ab-c4f1-4e02-be3b-e65463558e98","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401689,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OX0.KHKkqpkXzXY0Z8wXsADMH7X8WfQVFP21ZRTRLqBGNms"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"055f346a773059bd70e8aafdc3b8932d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"client_addr":"127.0.0.1:37018","level":"info","msg":"Sent response.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.767951,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/049eb99c-442f-49cc-98c2-5658b25c8093","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/049eb99c-442f-49cc-98c2-5658b25c8093","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401689,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY4OX0.KHKkqpkXzXY0Z8wXsADMH7X8WfQVFP21ZRTRLqBGNms"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"055f346a773059bd70e8aafdc3b8932d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ab83047e-398d-4dbd-9dc4-a68313eb8b53? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"055f346a773059bd70e8aafdc3b8932d"} device-1 | {"level":"info","message":"GET /devices/ab83047e-398d-4dbd-9dc4-a68313eb8b53? 200 40ms","method":"GET","requestID":"055f346a773059bd70e8aafdc3b8932d","responseTime":40,"status":200,"url":"/devices/ab83047e-398d-4dbd-9dc4-a68313eb8b53?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5MH0._hOFXjD8CeA6raGdpN1D22qjhaIWL-RhONCsiloEJow","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d1b2ef961e154548dfaaca7cbf81f6f5","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:30Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.070652,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/049eb99c-442f-49cc-98c2-5658b25c8093","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/049eb99c-442f-49cc-98c2-5658b25c8093","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401690,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5MH0._hOFXjD8CeA6raGdpN1D22qjhaIWL-RhONCsiloEJow"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d1b2ef961e154548dfaaca7cbf81f6f5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F049eb99c-442f-49cc-98c2-5658b25c8093","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F049eb99c-442f-49cc-98c2-5658b25c8093","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:29.737245130Z"}]},"request_id":"05d31fd8-5f90-415d-9e03-d8a6eb687d40","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401690.0259893} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d1b2ef961e154548dfaaca7cbf81f6f5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:30Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:30Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.544224,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:30Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.860841,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:30Z"} authorization-1 | {"client_addr":"127.0.0.1:37006","level":"info","msg":"Received request.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:30Z"} authorization-1 | {"client_addr":"127.0.0.1:37006","level":"info","msg":"Sent response.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.61872,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:30Z"} authorization-1 | {"client_addr":"127.0.0.1:37018","level":"info","msg":"Received request.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b890ed4-681d-45b3-95bc-aed8d11adb03","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/9b890ed4-681d-45b3-95bc-aed8d11adb03","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401690,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5MH0._hOFXjD8CeA6raGdpN1D22qjhaIWL-RhONCsiloEJow"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d1b2ef961e154548dfaaca7cbf81f6f5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c2bbc260-15f3-4413-8776-1377b63c5a81","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/c2bbc260-15f3-4413-8776-1377b63c5a81","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401690,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5MH0._hOFXjD8CeA6raGdpN1D22qjhaIWL-RhONCsiloEJow"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d1b2ef961e154548dfaaca7cbf81f6f5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/42f3e499-b913-4a63-bb03-8a10fdb8165d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/42f3e499-b913-4a63-bb03-8a10fdb8165d","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401690,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5MH0._hOFXjD8CeA6raGdpN1D22qjhaIWL-RhONCsiloEJow"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d1b2ef961e154548dfaaca7cbf81f6f5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"client_addr":"127.0.0.1:37018","level":"info","msg":"Sent response.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.09191,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/958feffe-e002-4cd2-aa15-85eef58fd4b1","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/958feffe-e002-4cd2-aa15-85eef58fd4b1","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401690,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5MH0._hOFXjD8CeA6raGdpN1D22qjhaIWL-RhONCsiloEJow"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d1b2ef961e154548dfaaca7cbf81f6f5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"client_addr":"127.0.0.1:37026","level":"info","msg":"Received request.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:30Z"} authorization-1 | {"client_addr":"127.0.0.1:37040","level":"info","msg":"Received request.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:30Z"} authorization-1 | {"client_addr":"127.0.0.1:37026","level":"info","msg":"Sent response.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.690558,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:30Z"} authorization-1 | {"client_addr":"127.0.0.1:37040","level":"info","msg":"Sent response.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.395614,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ab83047e-398d-4dbd-9dc4-a68313eb8b53","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/ab83047e-398d-4dbd-9dc4-a68313eb8b53","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401690,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5MH0._hOFXjD8CeA6raGdpN1D22qjhaIWL-RhONCsiloEJow"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d1b2ef961e154548dfaaca7cbf81f6f5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4cf25de-1339-4163-a429-271ba064851b","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/e4cf25de-1339-4163-a429-271ba064851b","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401690,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5MH0._hOFXjD8CeA6raGdpN1D22qjhaIWL-RhONCsiloEJow"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d1b2ef961e154548dfaaca7cbf81f6f5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/049eb99c-442f-49cc-98c2-5658b25c8093? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d1b2ef961e154548dfaaca7cbf81f6f5"} device-1 | {"level":"info","message":"GET /devices/049eb99c-442f-49cc-98c2-5658b25c8093? 200 49ms","method":"GET","requestID":"d1b2ef961e154548dfaaca7cbf81f6f5","responseTime":49,"status":200,"url":"/devices/049eb99c-442f-49cc-98c2-5658b25c8093?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5MH0._hOFXjD8CeA6raGdpN1D22qjhaIWL-RhONCsiloEJow","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a2ee0bb95f790bdf45bde84a09ee562f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:30Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.024364,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4cf25de-1339-4163-a429-271ba064851b","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/e4cf25de-1339-4163-a429-271ba064851b","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401690,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5MH0._hOFXjD8CeA6raGdpN1D22qjhaIWL-RhONCsiloEJow"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a2ee0bb95f790bdf45bde84a09ee562f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4cf25de-1339-4163-a429-271ba064851b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4cf25de-1339-4163-a429-271ba064851b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:29.804389029Z"}]},"request_id":"6ba5651a-a2a4-4de7-a711-475dc7760946","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401690.0829904} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a2ee0bb95f790bdf45bde84a09ee562f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:30Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.604837,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:30Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:30Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.485312,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:30Z"} authorization-1 | {"client_addr":"127.0.0.1:37006","level":"info","msg":"Received request.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6e537d9d-9827-4678-9860-551b5938c77d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/6e537d9d-9827-4678-9860-551b5938c77d","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401690,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5MH0._hOFXjD8CeA6raGdpN1D22qjhaIWL-RhONCsiloEJow"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a2ee0bb95f790bdf45bde84a09ee562f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ad80301c-648a-43d3-8854-1ae989f19c7f","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/ad80301c-648a-43d3-8854-1ae989f19c7f","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401690,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5MH0._hOFXjD8CeA6raGdpN1D22qjhaIWL-RhONCsiloEJow"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a2ee0bb95f790bdf45bde84a09ee562f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:37018","level":"info","msg":"Received request.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:30Z"} authorization-1 | {"client_addr":"127.0.0.1:37006","level":"info","msg":"Sent response.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.507169,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:30Z"} authorization-1 | {"client_addr":"127.0.0.1:37018","level":"info","msg":"Sent response.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.863779,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ab5d130-c6a9-4c0b-b320-183baa0eda16","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/6ab5d130-c6a9-4c0b-b320-183baa0eda16","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401690,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5MH0._hOFXjD8CeA6raGdpN1D22qjhaIWL-RhONCsiloEJow"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a2ee0bb95f790bdf45bde84a09ee562f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ab83047e-398d-4dbd-9dc4-a68313eb8b53","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/ab83047e-398d-4dbd-9dc4-a68313eb8b53","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401690,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5MH0._hOFXjD8CeA6raGdpN1D22qjhaIWL-RhONCsiloEJow"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a2ee0bb95f790bdf45bde84a09ee562f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e4cf25de-1339-4163-a429-271ba064851b? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a2ee0bb95f790bdf45bde84a09ee562f"} device-1 | {"level":"info","message":"GET /devices/e4cf25de-1339-4163-a429-271ba064851b? 200 30ms","method":"GET","requestID":"a2ee0bb95f790bdf45bde84a09ee562f","responseTime":30,"status":200,"url":"/devices/e4cf25de-1339-4163-a429-271ba064851b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5MH0._hOFXjD8CeA6raGdpN1D22qjhaIWL-RhONCsiloEJow","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c5baeadcf1bf245d3a7327039742a3a7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:30Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.713766,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401690,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5MH0._hOFXjD8CeA6raGdpN1D22qjhaIWL-RhONCsiloEJow"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c5baeadcf1bf245d3a7327039742a3a7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9651eda5-89b4-4f02-bee0-a292febca092","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"da109c55-3084-40e8-97b4-485a284023d6","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401690.1379738} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c5baeadcf1bf245d3a7327039742a3a7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"26c69973-e39d-4a35-8185-896281f627fc","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401690.1426308} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c5baeadcf1bf245d3a7327039742a3a7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9651eda5-89b4-4f02-bee0-a292febca092","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"8308296b-6e3c-4f10-a6ab-4bd04e338788","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401690.1538656} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"be396117-09dc-42c8-adf4-7df6b4584c00","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401690.1543024} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c5baeadcf1bf245d3a7327039742a3a7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9651eda5-89b4-4f02-bee0-a292febca092","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9651eda5-89b4-4f02-bee0-a292febca092","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:30.153834228Z"}]},"request_id":"61af932c-bd00-47d3-8ab7-5d4f2b1bc2fb","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401690.1597025} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c5baeadcf1bf245d3a7327039742a3a7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"284","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c5baeadcf1bf245d3a7327039742a3a7"} device-1 | {"level":"info","message":"POST /devices? 201 54ms","method":"POST","requestID":"c5baeadcf1bf245d3a7327039742a3a7","responseTime":54,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5MH0._hOFXjD8CeA6raGdpN1D22qjhaIWL-RhONCsiloEJow","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"419036e6e601edbe268284d47ff00de9","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:30Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.218846,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401690,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5MH0._hOFXjD8CeA6raGdpN1D22qjhaIWL-RhONCsiloEJow"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"419036e6e601edbe268284d47ff00de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a3b2cbb-4b5c-4dd5-b6cc-d1b1f01a4891","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"76d86d58-bb26-4781-918b-cb9cc071a57a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401690.192532} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"419036e6e601edbe268284d47ff00de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"22858cc2-fdde-48cd-a9ce-1563f0e36314","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401690.2004724} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"419036e6e601edbe268284d47ff00de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a3b2cbb-4b5c-4dd5-b6cc-d1b1f01a4891","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"888808e7-2609-4e4d-b8b1-8c660d460a7d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401690.2159202} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5c42f1f1-5610-490b-bf1c-e96b3b583c07","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401690.2161882} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"419036e6e601edbe268284d47ff00de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a3b2cbb-4b5c-4dd5-b6cc-d1b1f01a4891","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a3b2cbb-4b5c-4dd5-b6cc-d1b1f01a4891","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:30.215894884Z"}]},"request_id":"b8f2cb61-86fa-4b5f-8175-95b8a5ce589f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401690.2234151} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"419036e6e601edbe268284d47ff00de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"545","request_time":"0.063","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"419036e6e601edbe268284d47ff00de9"} device-1 | {"level":"info","message":"POST /devices? 201 57ms","method":"POST","requestID":"419036e6e601edbe268284d47ff00de9","responseTime":57,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5MH0._hOFXjD8CeA6raGdpN1D22qjhaIWL-RhONCsiloEJow","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fe27d6bf592aecc9b9dda1217535beb2","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:30Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.09778,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401690,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5MH0._hOFXjD8CeA6raGdpN1D22qjhaIWL-RhONCsiloEJow"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fe27d6bf592aecc9b9dda1217535beb2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe52a8dd-b7c3-4491-b45b-fefda7b95e3a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"47b38c2b-cd5c-4ef9-9536-77b6100bded5","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401690.2589598} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fe27d6bf592aecc9b9dda1217535beb2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"71d1e51f-f5a1-45d2-88ee-945954a2b87f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401690.2675145} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fe27d6bf592aecc9b9dda1217535beb2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe52a8dd-b7c3-4491-b45b-fefda7b95e3a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"ee2d7269-17aa-4d5b-a458-44501db6372d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401690.2796762} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8f02bd1e-a4be-4b83-b62d-5405d9403005","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401690.2801974} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fe27d6bf592aecc9b9dda1217535beb2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe52a8dd-b7c3-4491-b45b-fefda7b95e3a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe52a8dd-b7c3-4491-b45b-fefda7b95e3a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:30.279663129Z"}]},"request_id":"2fe9a79d-f139-4859-8a67-dc7d15c60251","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401690.2873878} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fe27d6bf592aecc9b9dda1217535beb2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 56ms","method":"POST","requestID":"fe27d6bf592aecc9b9dda1217535beb2","responseTime":56,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2024:14:41:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fe27d6bf592aecc9b9dda1217535beb2"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"eb4344a8faf01cd048bcfa522d948269","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2024:14:41:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/9651eda5-89b4-4f02-bee0-a292febca092/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":"eb4344a8faf01cd048bcfa522d948269"} device-1 | {"level":"info","message":"OPTIONS /devices/9651eda5-89b4-4f02-bee0-a292febca092/websocket 200 1ms","method":"OPTIONS","requestID":"eb4344a8faf01cd048bcfa522d948269","responseTime":1,"status":200,"url":"/devices/9651eda5-89b4-4f02-bee0-a292febca092/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5Mn0.9M9HNZp2AqgxPWLCgp9r_x3G46GPe3m0s0R3bZiA31I","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b146eaf18d5a3184ddf87db469a0b357","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.368763,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9651eda5-89b4-4f02-bee0-a292febca092","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/9651eda5-89b4-4f02-bee0-a292febca092","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401692,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5Mn0.9M9HNZp2AqgxPWLCgp9r_x3G46GPe3m0s0R3bZiA31I"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b146eaf18d5a3184ddf87db469a0b357"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6c6613653463f97fa3561164161d38d3","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2024:14:41:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a/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":"6c6613653463f97fa3561164161d38d3"} device-1 | {"level":"info","message":"OPTIONS /devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a/websocket 200 1ms","method":"OPTIONS","requestID":"6c6613653463f97fa3561164161d38d3","responseTime":1,"status":200,"url":"/devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9651eda5-89b4-4f02-bee0-a292febca092/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":"b146eaf18d5a3184ddf87db469a0b357"} device-1 | {"level":"info","message":"POST /devices/9651eda5-89b4-4f02-bee0-a292febca092/websocket 200 36ms","method":"POST","requestID":"b146eaf18d5a3184ddf87db469a0b357","responseTime":36,"status":200,"url":"/devices/9651eda5-89b4-4f02-bee0-a292febca092/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5Mn0.9M9HNZp2AqgxPWLCgp9r_x3G46GPe3m0s0R3bZiA31I","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"da133b5044f95f65fa66090d2bde7af8","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.39514,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401692,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5Mn0.9M9HNZp2AqgxPWLCgp9r_x3G46GPe3m0s0R3bZiA31I"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"da133b5044f95f65fa66090d2bde7af8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"device 'http://localhost/devices/9651eda5-89b4-4f02-bee0-a292febca092' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.038","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"da133b5044f95f65fa66090d2bde7af8"} device-1 | {"level":"info","message":"POST /devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a/websocket 200 33ms","method":"POST","requestID":"da133b5044f95f65fa66090d2bde7af8","responseTime":33,"status":200,"url":"/devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5Mn0.9M9HNZp2AqgxPWLCgp9r_x3G46GPe3m0s0R3bZiA31I","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"069ce458ef21ff80346181648a37093b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.035728,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401692,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5Mn0.9M9HNZp2AqgxPWLCgp9r_x3G46GPe3m0s0R3bZiA31I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"069ce458ef21ff80346181648a37093b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe52a8dd-b7c3-4491-b45b-fefda7b95e3a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe52a8dd-b7c3-4491-b45b-fefda7b95e3a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:30.279663129Z"}]},"request_id":"80c71b3d-07f8-43d1-a303-6851fdb50863","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401692.3322325} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"069ce458ef21ff80346181648a37093b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"069ce458ef21ff80346181648a37093b"} device-1 | {"level":"info","message":"GET /devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a? 200 16ms","method":"GET","requestID":"069ce458ef21ff80346181648a37093b","responseTime":16,"status":200,"url":"/devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5Mn0.9M9HNZp2AqgxPWLCgp9r_x3G46GPe3m0s0R3bZiA31I","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"7c48f4286d1e4303a04fcf8c8ba2009b","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.1583,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401692,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5Mn0.9M9HNZp2AqgxPWLCgp9r_x3G46GPe3m0s0R3bZiA31I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7c48f4286d1e4303a04fcf8c8ba2009b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e1b43b54-644e-4a4d-8ab4-5b9dc30f3179"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e1b43b54-644e-4a4d-8ab4-5b9dc30f3179"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e1b43b54-644e-4a4d-8ab4-5b9dc30f3179"},"level":"info","message":"Successfully booked experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.895609,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a3b2cbb-4b5c-4dd5-b6cc-d1b1f01a4891","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/7a3b2cbb-4b5c-4dd5-b6cc-d1b1f01a4891","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401692,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5Mn0.9M9HNZp2AqgxPWLCgp9r_x3G46GPe3m0s0R3bZiA31I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92496960-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.851404,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401692,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5Mn0.9M9HNZp2AqgxPWLCgp9r_x3G46GPe3m0s0R3bZiA31I"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92499070-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a3b2cbb-4b5c-4dd5-b6cc-d1b1f01a4891","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a3b2cbb-4b5c-4dd5-b6cc-d1b1f01a4891","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:30.215894884Z"}]},"request_id":"755d43bd-26e9-4b41-9a70-951ea34c9c30","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401692.4174087} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92496960-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe52a8dd-b7c3-4491-b45b-fefda7b95e3a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe52a8dd-b7c3-4491-b45b-fefda7b95e3a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:30.279663129Z"}]},"request_id":"7d2ca64d-d58f-4014-ace4-83ee42e6cdc7","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401692.4203985} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92499070-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a? 200 22ms","method":"GET","requestID":"92499070-0636-11ef-8c83-05b823ec2e4f","responseTime":22,"status":200,"url":"/devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a?"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.417687,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9651eda5-89b4-4f02-bee0-a292febca092","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/9651eda5-89b4-4f02-bee0-a292febca092","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401692,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5Mn0.9M9HNZp2AqgxPWLCgp9r_x3G46GPe3m0s0R3bZiA31I"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92496960-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/7a3b2cbb-4b5c-4dd5-b6cc-d1b1f01a4891? 200 29ms","method":"GET","requestID":"92496960-0636-11ef-8c83-05b823ec2e4f","responseTime":29,"status":200,"url":"/devices/7a3b2cbb-4b5c-4dd5-b6cc-d1b1f01a4891?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e1b43b54-644e-4a4d-8ab4-5b9dc30f3179"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e1b43b54-644e-4a4d-8ab4-5b9dc30f3179"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e1b43b54-644e-4a4d-8ab4-5b9dc30f3179"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e1b43b54-644e-4a4d-8ab4-5b9dc30f3179"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e1b43b54-644e-4a4d-8ab4-5b9dc30f3179"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e1b43b54-644e-4a4d-8ab4-5b9dc30f3179"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e1b43b54-644e-4a4d-8ab4-5b9dc30f3179"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e1b43b54-644e-4a4d-8ab4-5b9dc30f3179"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e1b43b54-644e-4a4d-8ab4-5b9dc30f3179"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.239074,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9651eda5-89b4-4f02-bee0-a292febca092","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/9651eda5-89b4-4f02-bee0-a292febca092","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401692,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5Mn0.9M9HNZp2AqgxPWLCgp9r_x3G46GPe3m0s0R3bZiA31I"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92559e60-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.346744,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401692,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5Mn0.9M9HNZp2AqgxPWLCgp9r_x3G46GPe3m0s0R3bZiA31I"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9255ec80-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:37006","level":"info","msg":"Received request.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"client_addr":"127.0.0.1:37006","level":"info","msg":"Sent response.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.744168,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9651eda5-89b4-4f02-bee0-a292febca092","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8a5aa8c3-7e91-469a-aaf7-63e0f32b670e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401692.4979908} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9651eda5-89b4-4f02-bee0-a292febca092","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9651eda5-89b4-4f02-bee0-a292febca092","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92563aa0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9651eda5-89b4-4f02-bee0-a292febca092","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9651eda5-89b4-4f02-bee0-a292febca092","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:30.153834228Z"}]},"request_id":"a8e7588d-e077-446a-9f11-0df9891347da","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401692.501386} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92559e60-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe52a8dd-b7c3-4491-b45b-fefda7b95e3a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe52a8dd-b7c3-4491-b45b-fefda7b95e3a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:30.279663129Z"}]},"request_id":"20adff70-269b-41b6-a556-a16f61ecbddf","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401692.5056162} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9255ec80-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/9651eda5-89b4-4f02-bee0-a292febca092/signaling 200 19ms","method":"POST","requestID":"92563aa0-0636-11ef-8c83-05b823ec2e4f","responseTime":19,"status":200,"url":"/devices/9651eda5-89b4-4f02-bee0-a292febca092/signaling"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe1b43b54-644e-4a4d-8ab4-5b9dc30f3179#owner@http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe1b43b54-644e-4a4d-8ab4-5b9dc30f3179","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"805a1717-a5de-4251-9017-35b310be0d99","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401692.511449} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8111f3a0-b19a-4828-8dd8-62122e40c068","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401692.5119712} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7c48f4286d1e4303a04fcf8c8ba2009b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:32Z"} device-1 | {"level":"info","message":"GET /devices/9651eda5-89b4-4f02-bee0-a292febca092? 200 31ms","method":"GET","requestID":"92559e60-0636-11ef-8c83-05b823ec2e4f","responseTime":31,"status":200,"url":"/devices/9651eda5-89b4-4f02-bee0-a292febca092?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a? 200 30ms","method":"GET","requestID":"9255ec80-0636-11ef-8c83-05b823ec2e4f","responseTime":30,"status":200,"url":"/devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a?"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe52a8dd-b7c3-4491-b45b-fefda7b95e3a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8323eed4-7e00-4d22-8332-77c4efcecf7a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401692.5193353} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.562676,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9259bd10-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/e1b43b54-644e-4a4d-8ab4-5b9dc30f3179","user":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:32Z"} gateway-1 | {"time_local":"29/Apr/2024:14:41:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.187","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7c48f4286d1e4303a04fcf8c8ba2009b"} experiment-1 | {"level":"info","message":"POST /experiments? 201 180ms","method":"POST","requestID":"7c48f4286d1e4303a04fcf8c8ba2009b","responseTime":180,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a/signaling 200 15ms","method":"POST","requestID":"9259bd10-0636-11ef-8c83-05b823ec2e4f","responseTime":15,"status":200,"url":"/devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a/signaling"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9651eda5-89b4-4f02-bee0-a292febca092","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6415b8ae-3418-45f3-9d78-869a8a82177e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401692.5286448} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.836538,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9651eda5-89b4-4f02-bee0-a292febca092","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9651eda5-89b4-4f02-bee0-a292febca092","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"925b1ca0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5Mn0.9M9HNZp2AqgxPWLCgp9r_x3G46GPe3m0s0R3bZiA31I","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"25b1729e7f3d881b7e2c532a371f8c34","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/9651eda5-89b4-4f02-bee0-a292febca092/signaling 200 15ms","method":"POST","requestID":"925b1ca0-0636-11ef-8c83-05b823ec2e4f","responseTime":15,"status":200,"url":"/devices/9651eda5-89b4-4f02-bee0-a292febca092/signaling"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.055563,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9651eda5-89b4-4f02-bee0-a292febca092","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/9651eda5-89b4-4f02-bee0-a292febca092","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401692,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5Mn0.9M9HNZp2AqgxPWLCgp9r_x3G46GPe3m0s0R3bZiA31I"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"25b1729e7f3d881b7e2c532a371f8c34"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe52a8dd-b7c3-4491-b45b-fefda7b95e3a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a3a42c35-e2d6-4612-9137-91a91f0b9e31","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401692.5445428} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9651eda5-89b4-4f02-bee0-a292febca092","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9651eda5-89b4-4f02-bee0-a292febca092","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:30.153834228Z"}]},"request_id":"1a1e7d0b-0a67-4f65-8ad1-3b4396ed48de","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401692.5448537} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"25b1729e7f3d881b7e2c532a371f8c34"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.491547,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"925ddbc0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9651eda5-89b4-4f02-bee0-a292febca092? HTTP/1.1","status": "200","body_bytes_sent":"283","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"25b1729e7f3d881b7e2c532a371f8c34"} device-1 | {"level":"info","message":"GET /devices/9651eda5-89b4-4f02-bee0-a292febca092? 200 18ms","method":"GET","requestID":"25b1729e7f3d881b7e2c532a371f8c34","responseTime":18,"status":200,"url":"/devices/9651eda5-89b4-4f02-bee0-a292febca092?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a/signaling 200 13ms","method":"POST","requestID":"925ddbc0-0636-11ef-8c83-05b823ec2e4f","responseTime":13,"status":200,"url":"/devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e1b43b54-644e-4a4d-8ab4-5b9dc30f3179"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e1b43b54-644e-4a4d-8ab4-5b9dc30f3179"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"771538d8-c113-46a7-82da-b6c9f12bd6ce"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"0ffa460b-6ed6-44f9-ad71-2030526ecead"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"b985e6b7-fae9-42ac-9fa2-08e4be149eea"}]},"level":"info","message":"Built pairwise service configurations"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/9651eda5-89b4-4f02-bee0-a292febca092"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5Mn0.9M9HNZp2AqgxPWLCgp9r_x3G46GPe3m0s0R3bZiA31I","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d5d55617ab0d46a759f40b5f6813f933","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.899953,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401692,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5Mn0.9M9HNZp2AqgxPWLCgp9r_x3G46GPe3m0s0R3bZiA31I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"926073d0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.977505,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401692,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5Mn0.9M9HNZp2AqgxPWLCgp9r_x3G46GPe3m0s0R3bZiA31I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d5d55617ab0d46a759f40b5f6813f933"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe52a8dd-b7c3-4491-b45b-fefda7b95e3a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe52a8dd-b7c3-4491-b45b-fefda7b95e3a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:30.279663129Z"}]},"request_id":"f14000d1-6e70-4e97-a7f1-a9ce619fa1e2","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401692.5680604} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d5d55617ab0d46a759f40b5f6813f933"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","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%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"22475bd4-aa85-4251-9f00-52ef9982f8a7","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401692.5728235} gateway-1 | {"time_local":"29/Apr/2024:14:41:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d5d55617ab0d46a759f40b5f6813f933"} device-1 | {"level":"info","message":"GET /devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a? 200 14ms","method":"GET","requestID":"d5d55617ab0d46a759f40b5f6813f933","responseTime":14,"status":200,"url":"/devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"98f0afe5-57e6-4fc0-a26b-a97a0c3efdb5","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401692.5732024} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"926073d0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/f87c36d4-0eb2-44ce-b298-6f54ef96e6ff'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/f87c36d4-0eb2-44ce-b298-6f54ef96e6ff'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 42ms","method":"POST","requestID":"926073d0-0636-11ef-8c83-05b823ec2e4f","responseTime":42,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e1b43b54-644e-4a4d-8ab4-5b9dc30f3179"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9651eda5-89b4-4f02-bee0-a292febca092","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7f9acfdc-e015-497f-986b-e8d72c58d2d7","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401692.6394606} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.59153,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9651eda5-89b4-4f02-bee0-a292febca092","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9651eda5-89b4-4f02-bee0-a292febca092","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"926c33a0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/9651eda5-89b4-4f02-bee0-a292febca092/signaling 200 12ms","method":"POST","requestID":"926c33a0-0636-11ef-8c83-05b823ec2e4f","responseTime":12,"status":200,"url":"/devices/9651eda5-89b4-4f02-bee0-a292febca092/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe52a8dd-b7c3-4491-b45b-fefda7b95e3a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bf765d2e-aa57-4497-b8ba-0906f3f5fc59","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401692.653832} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.755273,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"926e5680-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a/signaling 200 12ms","method":"POST","requestID":"926e5680-0636-11ef-8c83-05b823ec2e4f","responseTime":12,"status":200,"url":"/devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a/signaling"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/f87c36d4-0eb2-44ce-b298-6f54ef96e6ff' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f87c36d4-0eb2-44ce-b298-6f54ef96e6ff","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6132737c95cb3657ea45642fce6b04cf","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/9651eda5-89b4-4f02-bee0-a292febca092"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/f87c36d4-0eb2-44ce-b298-6f54ef96e6ff"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"6132737c95cb3657ea45642fce6b04cf","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"6132737c95cb3657ea45642fce6b04cf"} device-1 | {"data":{"peerconnection":"f87c36d4-0eb2-44ce-b298-6f54ef96e6ff","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"f87c36d4-0eb2-44ce-b298-6f54ef96e6ff","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/f87c36d4-0eb2-44ce-b298-6f54ef96e6ff' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f87c36d4-0eb2-44ce-b298-6f54ef96e6ff","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"9524323ab1e509cd0fc4ddf9a0501676","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/9651eda5-89b4-4f02-bee0-a292febca092"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/f87c36d4-0eb2-44ce-b298-6f54ef96e6ff"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff87c36d4-0eb2-44ce-b298-6f54ef96e6ff","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ef0d074c-50f6-4911-b479-f52d5110ba89","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401692.878981} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.521031,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f87c36d4-0eb2-44ce-b298-6f54ef96e6ff","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/f87c36d4-0eb2-44ce-b298-6f54ef96e6ff","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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9290ab90-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/f87c36d4-0eb2-44ce-b298-6f54ef96e6ff 200 12ms","method":"GET","requestID":"9290ab90-0636-11ef-8c83-05b823ec2e4f","responseTime":12,"status":200,"url":"/peerconnections/f87c36d4-0eb2-44ce-b298-6f54ef96e6ff"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 34ms","method":"POST","requestID":"9524323ab1e509cd0fc4ddf9a0501676","responseTime":34,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.038","http_referrer":"","http_user_agent":"node-fetch","requestID":"9524323ab1e509cd0fc4ddf9a0501676"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9651eda5-89b4-4f02-bee0-a292febca092","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b336011e-bf71-4eec-a605-efdd69fb0055","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401692.9076638} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.707809,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9651eda5-89b4-4f02-bee0-a292febca092","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9651eda5-89b4-4f02-bee0-a292febca092","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92951860-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/9651eda5-89b4-4f02-bee0-a292febca092/signaling 200 13ms","method":"POST","requestID":"92951860-0636-11ef-8c83-05b823ec2e4f","responseTime":13,"status":200,"url":"/devices/9651eda5-89b4-4f02-bee0-a292febca092/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe52a8dd-b7c3-4491-b45b-fefda7b95e3a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"014b328d-9c4e-4db0-813a-866aa591795d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401692.9233418} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.184491,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92976250-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a/signaling 200 12ms","method":"POST","requestID":"92976250-0636-11ef-8c83-05b823ec2e4f","responseTime":12,"status":200,"url":"/devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5Mn0.9M9HNZp2AqgxPWLCgp9r_x3G46GPe3m0s0R3bZiA31I","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"160f6a2a16da0c25db32b65bb3ca0fab","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e1b43b54-644e-4a4d-8ab4-5b9dc30f3179"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.639437,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e1b43b54-644e-4a4d-8ab4-5b9dc30f3179","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/e1b43b54-644e-4a4d-8ab4-5b9dc30f3179","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401692,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5Mn0.9M9HNZp2AqgxPWLCgp9r_x3G46GPe3m0s0R3bZiA31I"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"160f6a2a16da0c25db32b65bb3ca0fab"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/e1b43b54-644e-4a4d-8ab4-5b9dc30f3179"} gateway-1 | {"time_local":"29/Apr/2024:14:41:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e1b43b54-644e-4a4d-8ab4-5b9dc30f3179 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"160f6a2a16da0c25db32b65bb3ca0fab"} experiment-1 | {"level":"info","message":"GET /experiments/e1b43b54-644e-4a4d-8ab4-5b9dc30f3179 200 15ms","method":"GET","requestID":"160f6a2a16da0c25db32b65bb3ca0fab","responseTime":15,"status":200,"url":"/experiments/e1b43b54-644e-4a4d-8ab4-5b9dc30f3179"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5Mn0.9M9HNZp2AqgxPWLCgp9r_x3G46GPe3m0s0R3bZiA31I","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c244003c90ae260f826f71bf6512af90","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/e1b43b54-644e-4a4d-8ab4-5b9dc30f3179"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.332975,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:32Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e1b43b54-644e-4a4d-8ab4-5b9dc30f3179","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/e1b43b54-644e-4a4d-8ab4-5b9dc30f3179","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401692,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5Mn0.9M9HNZp2AqgxPWLCgp9r_x3G46GPe3m0s0R3bZiA31I"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c244003c90ae260f826f71bf6512af90"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e1b43b54-644e-4a4d-8ab4-5b9dc30f3179"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:33Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.195812,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:33Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f87c36d4-0eb2-44ce-b298-6f54ef96e6ff","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:http://localhost/peerconnections/f87c36d4-0eb2-44ce-b298-6f54ef96e6ff","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401692,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5Mn0.9M9HNZp2AqgxPWLCgp9r_x3G46GPe3m0s0R3bZiA31I"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92a3be60-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/f87c36d4-0eb2-44ce-b298-6f54ef96e6ff' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/f87c36d4-0eb2-44ce-b298-6f54ef96e6ff' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f87c36d4-0eb2-44ce-b298-6f54ef96e6ff","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"6160d24c5aa5bdedadd22d460ddb0460","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/9651eda5-89b4-4f02-bee0-a292febca092"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f87c36d4-0eb2-44ce-b298-6f54ef96e6ff"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff87c36d4-0eb2-44ce-b298-6f54ef96e6ff': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff87c36d4-0eb2-44ce-b298-6f54ef96e6ff","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"6d0cb521-1c4a-47fe-bf54-b1743b1ab112","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401693.027879} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8df7adfbd0df7b446562c2365d310bae","responseTime":2,"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/9651eda5-89b4-4f02-bee0-a292febca092"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f87c36d4-0eb2-44ce-b298-6f54ef96e6ff"}}},"level":"info","message":"received a callback"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aff0969f-ad7e-47d9-8da8-5a22dac80225","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401693.0282924} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92a3be60-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} device-1 | {"data":{"peerconnection":"f87c36d4-0eb2-44ce-b298-6f54ef96e6ff","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/f87c36d4-0eb2-44ce-b298-6f54ef96e6ff 204 63ms","method":"DELETE","requestID":"92a3be60-0636-11ef-8c83-05b823ec2e4f","responseTime":63,"status":204,"url":"/peerconnections/f87c36d4-0eb2-44ce-b298-6f54ef96e6ff"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e1b43b54-644e-4a4d-8ab4-5b9dc30f3179"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:33Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9651eda5-89b4-4f02-bee0-a292febca092","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"69d0e372-3bdd-49f5-b66e-84d45d722daf","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401693.0935233} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.084954,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9651eda5-89b4-4f02-bee0-a292febca092","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9651eda5-89b4-4f02-bee0-a292febca092","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92b104d0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/9651eda5-89b4-4f02-bee0-a292febca092/signaling 200 20ms","method":"POST","requestID":"92b104d0-0636-11ef-8c83-05b823ec2e4f","responseTime":20,"status":200,"url":"/devices/9651eda5-89b4-4f02-bee0-a292febca092/signaling"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe1b43b54-644e-4a4d-8ab4-5b9dc30f3179': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe1b43b54-644e-4a4d-8ab4-5b9dc30f3179","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"35f53049-d60c-44c0-884d-2383158eb23f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401693.1084845} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"81093fa2-c252-46a6-bb7c-e4928eed096e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401693.1089997} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c244003c90ae260f826f71bf6512af90"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":28}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:33Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe52a8dd-b7c3-4491-b45b-fefda7b95e3a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f1a54680-bdcb-4fc7-bb18-d5911d2921f4","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401693.1182914} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.4939,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92b48740-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a/signaling 200 20ms","method":"POST","requestID":"92b48740-0636-11ef-8c83-05b823ec2e4f","responseTime":20,"status":200,"url":"/devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/e1b43b54-644e-4a4d-8ab4-5b9dc30f3179"} gateway-1 | {"time_local":"29/Apr/2024:14:41:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/e1b43b54-644e-4a4d-8ab4-5b9dc30f3179 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.201","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c244003c90ae260f826f71bf6512af90"} experiment-1 | {"level":"info","message":"DELETE /experiments/e1b43b54-644e-4a4d-8ab4-5b9dc30f3179 204 199ms","method":"DELETE","requestID":"c244003c90ae260f826f71bf6512af90","responseTime":199,"status":204,"url":"/experiments/e1b43b54-644e-4a4d-8ab4-5b9dc30f3179"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 156ms","method":"POST","requestID":"6160d24c5aa5bdedadd22d460ddb0460","responseTime":156,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.161","http_referrer":"","http_user_agent":"node-fetch","requestID":"6160d24c5aa5bdedadd22d460ddb0460"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 156ms","method":"POST","requestID":"8df7adfbd0df7b446562c2365d310bae","responseTime":156,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.162","http_referrer":"","http_user_agent":"node-fetch","requestID":"8df7adfbd0df7b446562c2365d310bae"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5M30.nd_jsUde0Vj73oxDxAUqvbAxtT-vqLu0Bp3Gc1hxnAU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3db68fc3a612bd1bc0b295ec937b6074","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"29/Apr/2024:14:41:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2195","request_time":"0.932","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"6f3f7d838721a5fff38c2db1c5cd5843"} gateway-1 | {"time_local":"29/Apr/2024:14:41:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2062","request_time":"0.892","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"788ce6e9de7600e8c5b67aa4fa586494"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:33Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":4.561575,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:33Z"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/fe52a8dd-b7c3-4491-b45b-fefda7b95e3a' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401693,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5M30.nd_jsUde0Vj73oxDxAUqvbAxtT-vqLu0Bp3Gc1hxnAU"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3db68fc3a612bd1bc0b295ec937b6074"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/9651eda5-89b4-4f02-bee0-a292febca092' 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:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"25de7f40-bdb5-4924-8faa-4b4d8cbea53f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401693.213956} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3db68fc3a612bd1bc0b295ec937b6074"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3cc59b85-c447-426c-bed6-3bfdf6df7121","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401693.2190413} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3db68fc3a612bd1bc0b295ec937b6074"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"3151cf5e-1fd2-435d-ac07-285409e33af5","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401693.231491} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"48ec643c-ac24-4845-92c8-64a93e8b012e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401693.2316947} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3db68fc3a612bd1bc0b295ec937b6074"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:33.231476458Z"}]},"request_id":"a91a2ca9-a19e-410d-b541-3a07f3cc8bcf","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401693.236195} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3db68fc3a612bd1bc0b295ec937b6074"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3db68fc3a612bd1bc0b295ec937b6074"} device-1 | {"level":"info","message":"POST /devices? 201 49ms","method":"POST","requestID":"3db68fc3a612bd1bc0b295ec937b6074","responseTime":49,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5M30.nd_jsUde0Vj73oxDxAUqvbAxtT-vqLu0Bp3Gc1hxnAU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"50a7429217c487200c379444dc2fd0f7","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:33Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.07209,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401693,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5M30.nd_jsUde0Vj73oxDxAUqvbAxtT-vqLu0Bp3Gc1hxnAU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"50a7429217c487200c379444dc2fd0f7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabd23340-ea65-4a30-80ec-3bb822d75424","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0b494020-7e56-4f9a-8cb4-ddffb9e3755c","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401693.2596655} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"50a7429217c487200c379444dc2fd0f7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b7e1f6ba-dcac-464a-adc9-7fc330d15e2a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401693.2647598} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"50a7429217c487200c379444dc2fd0f7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabd23340-ea65-4a30-80ec-3bb822d75424","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"0f7ba4b7-b64d-4b39-afaf-7d30f39d17d7","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401693.2745466} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"992bb9a1-54f5-4137-9201-fc1553c6843a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401693.2747688} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"50a7429217c487200c379444dc2fd0f7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabd23340-ea65-4a30-80ec-3bb822d75424","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabd23340-ea65-4a30-80ec-3bb822d75424","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:33.274531057Z"}]},"request_id":"10ba19aa-18ae-411c-90d0-3e826b05a3aa","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401693.2797372} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"50a7429217c487200c379444dc2fd0f7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"50a7429217c487200c379444dc2fd0f7"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"50a7429217c487200c379444dc2fd0f7","responseTime":39,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5M30.nd_jsUde0Vj73oxDxAUqvbAxtT-vqLu0Bp3Gc1hxnAU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1338876b64c81a26e9a95711068fc3b7","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:33Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.066584,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401693,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5M30.nd_jsUde0Vj73oxDxAUqvbAxtT-vqLu0Bp3Gc1hxnAU"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1338876b64c81a26e9a95711068fc3b7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:33.231476458Z"}]},"request_id":"7b1386d3-2b77-4d73-9ad6-5b6ddad6c6a8","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401693.7832572} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1338876b64c81a26e9a95711068fc3b7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"34bf7ccb-dd95-41fb-b55e-fdbb960967ea","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401693.7926419} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1338876b64c81a26e9a95711068fc3b7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:33.231476458Z"}]},"request_id":"b76206b9-3a7e-4319-abab-5abc4c2e5796","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401693.811387} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1338876b64c81a26e9a95711068fc3b7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.059","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"1338876b64c81a26e9a95711068fc3b7"} device-1 | {"level":"info","message":"PATCH /devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39 200 52ms","method":"PATCH","requestID":"1338876b64c81a26e9a95711068fc3b7","responseTime":52,"status":200,"url":"/devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5M30.nd_jsUde0Vj73oxDxAUqvbAxtT-vqLu0Bp3Gc1hxnAU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e4d158b6c99f145c1613b171dd94b50a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:33Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.241599,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401693,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5M30.nd_jsUde0Vj73oxDxAUqvbAxtT-vqLu0Bp3Gc1hxnAU"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e4d158b6c99f145c1613b171dd94b50a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.029","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"e4d158b6c99f145c1613b171dd94b50a"} device-1 | {"level":"info","message":"POST /devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39/websocket 200 23ms","method":"POST","requestID":"e4d158b6c99f145c1613b171dd94b50a","responseTime":23,"status":200,"url":"/devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39' connected"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"aad9ceb03ad58938bf21cd7ca65bacc9","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2024:14:41:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/abd23340-ea65-4a30-80ec-3bb822d75424/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":"aad9ceb03ad58938bf21cd7ca65bacc9"} device-1 | {"level":"info","message":"OPTIONS /devices/abd23340-ea65-4a30-80ec-3bb822d75424/websocket 200 1ms","method":"OPTIONS","requestID":"aad9ceb03ad58938bf21cd7ca65bacc9","responseTime":1,"status":200,"url":"/devices/abd23340-ea65-4a30-80ec-3bb822d75424/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5NX0.etxIawFvygiYYKjbWn6oul2lPXwSG287H7WY7syiU1M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fa88c13b183e2748ba88e7194b4f0a1f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:35Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.187395,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:35Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/abd23340-ea65-4a30-80ec-3bb822d75424","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/abd23340-ea65-4a30-80ec-3bb822d75424","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401695,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5NX0.etxIawFvygiYYKjbWn6oul2lPXwSG287H7WY7syiU1M"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fa88c13b183e2748ba88e7194b4f0a1f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/abd23340-ea65-4a30-80ec-3bb822d75424/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":"fa88c13b183e2748ba88e7194b4f0a1f"} device-1 | {"level":"info","message":"POST /devices/abd23340-ea65-4a30-80ec-3bb822d75424/websocket 200 42ms","method":"POST","requestID":"fa88c13b183e2748ba88e7194b4f0a1f","responseTime":42,"status":200,"url":"/devices/abd23340-ea65-4a30-80ec-3bb822d75424/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/abd23340-ea65-4a30-80ec-3bb822d75424' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5NX0.etxIawFvygiYYKjbWn6oul2lPXwSG287H7WY7syiU1M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6d7d460a32c4287703023f0d7bebc219","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:35Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.278698,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401695,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5NX0.etxIawFvygiYYKjbWn6oul2lPXwSG287H7WY7syiU1M"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6d7d460a32c4287703023f0d7bebc219"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:33.231476458Z"}]},"request_id":"2977e9f8-8e24-4a37-a490-b763a72ce25f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401695.3589861} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6d7d460a32c4287703023f0d7bebc219"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6d7d460a32c4287703023f0d7bebc219"} device-1 | {"level":"info","message":"GET /devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39? 200 20ms","method":"GET","requestID":"6d7d460a32c4287703023f0d7bebc219","responseTime":20,"status":200,"url":"/devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5NX0.etxIawFvygiYYKjbWn6oul2lPXwSG287H7WY7syiU1M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ebe59104b138750061028cd9fc0cd4e0","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:35Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.773097,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/abd23340-ea65-4a30-80ec-3bb822d75424","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/abd23340-ea65-4a30-80ec-3bb822d75424","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401695,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5NX0.etxIawFvygiYYKjbWn6oul2lPXwSG287H7WY7syiU1M"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ebe59104b138750061028cd9fc0cd4e0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabd23340-ea65-4a30-80ec-3bb822d75424","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabd23340-ea65-4a30-80ec-3bb822d75424","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:33.274531057Z"}]},"request_id":"7a03149a-01eb-4567-8720-ec8543e45f78","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401695.3895082} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ebe59104b138750061028cd9fc0cd4e0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/abd23340-ea65-4a30-80ec-3bb822d75424? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ebe59104b138750061028cd9fc0cd4e0"} device-1 | {"level":"info","message":"GET /devices/abd23340-ea65-4a30-80ec-3bb822d75424? 200 22ms","method":"GET","requestID":"ebe59104b138750061028cd9fc0cd4e0","responseTime":22,"status":200,"url":"/devices/abd23340-ea65-4a30-80ec-3bb822d75424?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5NX0.etxIawFvygiYYKjbWn6oul2lPXwSG287H7WY7syiU1M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"68021a0a0ffbb472c60f65d667922a91","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:35Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.26769,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:35Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401695,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5NX0.etxIawFvygiYYKjbWn6oul2lPXwSG287H7WY7syiU1M"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"68021a0a0ffbb472c60f65d667922a91"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a0730cbb-a29b-42f8-beba-41bb7f7cbdc3"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a0730cbb-a29b-42f8-beba-41bb7f7cbdc3"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a0730cbb-a29b-42f8-beba-41bb7f7cbdc3"},"level":"info","message":"Successfully booked experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:35Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.210646,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:35Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401695,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5NX0.etxIawFvygiYYKjbWn6oul2lPXwSG287H7WY7syiU1M"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"941b6a40-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.958895,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/abd23340-ea65-4a30-80ec-3bb822d75424","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/abd23340-ea65-4a30-80ec-3bb822d75424","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401695,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5NX0.etxIawFvygiYYKjbWn6oul2lPXwSG287H7WY7syiU1M"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"941bb860-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:33.231476458Z"}]},"request_id":"7dff0b4c-1ece-416a-b90a-31038c16477c","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401695.476126} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"941b6a40-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabd23340-ea65-4a30-80ec-3bb822d75424","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabd23340-ea65-4a30-80ec-3bb822d75424","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:33.274531057Z"}]},"request_id":"b8bf7885-472f-4e4f-b436-bdc28d300ff0","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401695.477732} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"941bb860-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/abd23340-ea65-4a30-80ec-3bb822d75424? 200 25ms","method":"GET","requestID":"941bb860-0636-11ef-8c83-05b823ec2e4f","responseTime":25,"status":200,"url":"/devices/abd23340-ea65-4a30-80ec-3bb822d75424?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39? 200 29ms","method":"GET","requestID":"941b6a40-0636-11ef-8c83-05b823ec2e4f","responseTime":29,"status":200,"url":"/devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a0730cbb-a29b-42f8-beba-41bb7f7cbdc3"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a0730cbb-a29b-42f8-beba-41bb7f7cbdc3"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a0730cbb-a29b-42f8-beba-41bb7f7cbdc3"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a0730cbb-a29b-42f8-beba-41bb7f7cbdc3"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a0730cbb-a29b-42f8-beba-41bb7f7cbdc3"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a0730cbb-a29b-42f8-beba-41bb7f7cbdc3"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a0730cbb-a29b-42f8-beba-41bb7f7cbdc3"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a0730cbb-a29b-42f8-beba-41bb7f7cbdc3"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a0730cbb-a29b-42f8-beba-41bb7f7cbdc3"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:35Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.621613,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:35Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:35Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.916431,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401695,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5NX0.etxIawFvygiYYKjbWn6oul2lPXwSG287H7WY7syiU1M"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"94294cf0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/abd23340-ea65-4a30-80ec-3bb822d75424","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/abd23340-ea65-4a30-80ec-3bb822d75424","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401695,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5NX0.etxIawFvygiYYKjbWn6oul2lPXwSG287H7WY7syiU1M"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"94299b10-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"client_addr":"127.0.0.1:37006","level":"info","msg":"Received request.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:35Z"} authorization-1 | {"client_addr":"127.0.0.1:37006","level":"info","msg":"Sent response.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.901711,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:35Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"42b82ec3-d893-4fd0-ba79-b83f96f39e14","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401695.568689} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9429e930-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:33.231476458Z"}]},"request_id":"2b8ea45b-1b8b-4c1c-9f95-47de9aacdec8","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401695.5711913} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"94294cf0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabd23340-ea65-4a30-80ec-3bb822d75424","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabd23340-ea65-4a30-80ec-3bb822d75424","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:33.274531057Z"}]},"request_id":"e5a8a407-95bc-4dca-9bb4-ce66d319497b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401695.5767908} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39/signaling 200 26ms","method":"POST","requestID":"9429e930-0636-11ef-8c83-05b823ec2e4f","responseTime":26,"status":200,"url":"/devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"94299b10-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa0730cbb-a29b-42f8-beba-41bb7f7cbdc3#owner@http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa0730cbb-a29b-42f8-beba-41bb7f7cbdc3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"3cacc00b-8cdb-4cd1-9d62-983458faac8e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401695.5811355} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d31c3f54-60dd-48d4-b87d-85705d3c2ac2","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401695.5839956} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"68021a0a0ffbb472c60f65d667922a91"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":23}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:35Z"} device-1 | {"level":"info","message":"GET /devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39? 200 38ms","method":"GET","requestID":"94294cf0-0636-11ef-8c83-05b823ec2e4f","responseTime":38,"status":200,"url":"/devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/abd23340-ea65-4a30-80ec-3bb822d75424? 200 38ms","method":"GET","requestID":"94299b10-0636-11ef-8c83-05b823ec2e4f","responseTime":38,"status":200,"url":"/devices/abd23340-ea65-4a30-80ec-3bb822d75424?"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabd23340-ea65-4a30-80ec-3bb822d75424","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2c1e5f2a-22bb-4f81-9237-8753400a75cb","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401695.5909379} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.082037,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/abd23340-ea65-4a30-80ec-3bb822d75424","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/abd23340-ea65-4a30-80ec-3bb822d75424","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"942e7d10-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/a0730cbb-a29b-42f8-beba-41bb7f7cbdc3","user":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} gateway-1 | {"time_local":"29/Apr/2024:14:41:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.197","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"68021a0a0ffbb472c60f65d667922a91"} experiment-1 | {"level":"info","message":"POST /experiments? 201 190ms","method":"POST","requestID":"68021a0a0ffbb472c60f65d667922a91","responseTime":190,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/abd23340-ea65-4a30-80ec-3bb822d75424/signaling 200 13ms","method":"POST","requestID":"942e7d10-0636-11ef-8c83-05b823ec2e4f","responseTime":13,"status":200,"url":"/devices/abd23340-ea65-4a30-80ec-3bb822d75424/signaling"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:35Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9f264ad3-e1df-44e1-8c74-73b7a3644673","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401695.6014633} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.324474,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:35Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5NX0.etxIawFvygiYYKjbWn6oul2lPXwSG287H7WY7syiU1M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7bf2445aff1bc1e667ad07fb7db55334","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"94302ac0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:35Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.336842,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:35Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401695,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5NX0.etxIawFvygiYYKjbWn6oul2lPXwSG287H7WY7syiU1M"} device-1 | {"level":"info","message":"POST /devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39/signaling 200 14ms","method":"POST","requestID":"94302ac0-0636-11ef-8c83-05b823ec2e4f","responseTime":14,"status":200,"url":"/devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7bf2445aff1bc1e667ad07fb7db55334"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:33.231476458Z"}]},"request_id":"4780d299-69ea-460c-90a8-af6ec975b620","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401695.6151788} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7bf2445aff1bc1e667ad07fb7db55334"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:35Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabd23340-ea65-4a30-80ec-3bb822d75424","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f77650ab-d56e-4a3c-9674-a9e9f7a353ff","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401695.6191313} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.744962,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:35Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/abd23340-ea65-4a30-80ec-3bb822d75424","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/abd23340-ea65-4a30-80ec-3bb822d75424","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":"29/Apr/2024:14:41:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7bf2445aff1bc1e667ad07fb7db55334"} device-1 | {"level":"info","message":"GET /devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39? 200 19ms","method":"GET","requestID":"7bf2445aff1bc1e667ad07fb7db55334","responseTime":19,"status":200,"url":"/devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39?"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9432c2d0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/abd23340-ea65-4a30-80ec-3bb822d75424/signaling 200 13ms","method":"POST","requestID":"9432c2d0-0636-11ef-8c83-05b823ec2e4f","responseTime":13,"status":200,"url":"/devices/abd23340-ea65-4a30-80ec-3bb822d75424/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a0730cbb-a29b-42f8-beba-41bb7f7cbdc3"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a0730cbb-a29b-42f8-beba-41bb7f7cbdc3"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"80035e04-2661-4e28-bed2-a8bc645bb8da"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"2b9b3e7b-b813-40b7-9aa3-b886d16c2a68"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"bde5571e-72c9-41e4-91c8-fd923b028ac6"}]},"level":"info","message":"Built pairwise service configurations"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5NX0.etxIawFvygiYYKjbWn6oul2lPXwSG287H7WY7syiU1M","level":"info","message":"auth send jwt"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/abd23340-ea65-4a30-80ec-3bb822d75424"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7a52d9309a062d8cf9cb6acaf5233a8b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:35Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.779927,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:35Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/abd23340-ea65-4a30-80ec-3bb822d75424","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/abd23340-ea65-4a30-80ec-3bb822d75424","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401695,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5NX0.etxIawFvygiYYKjbWn6oul2lPXwSG287H7WY7syiU1M"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a52d9309a062d8cf9cb6acaf5233a8b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.630057,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:35Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401695,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5NX0.etxIawFvygiYYKjbWn6oul2lPXwSG287H7WY7syiU1M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"94355ae0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabd23340-ea65-4a30-80ec-3bb822d75424","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabd23340-ea65-4a30-80ec-3bb822d75424","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:33.274531057Z"}]},"request_id":"c4b2c01c-4a55-4d16-be09-4fc759167af2","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401695.6370175} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a52d9309a062d8cf9cb6acaf5233a8b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/abd23340-ea65-4a30-80ec-3bb822d75424? 200 13ms","method":"GET","requestID":"7a52d9309a062d8cf9cb6acaf5233a8b","responseTime":13,"status":200,"url":"/devices/abd23340-ea65-4a30-80ec-3bb822d75424?"} gateway-1 | {"time_local":"29/Apr/2024:14:41:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/abd23340-ea65-4a30-80ec-3bb822d75424? 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":"7a52d9309a062d8cf9cb6acaf5233a8b"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","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%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"c4f0b07f-373c-40eb-823e-2aa23d0484b0","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401695.6444533} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3d5f40d0-ccc3-4681-9f61-eb6f9aacc093","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401695.6446493} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"94355ae0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/af7cf53e-ed2e-4339-a960-4d3503981dd3'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/af7cf53e-ed2e-4339-a960-4d3503981dd3'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 36ms","method":"POST","requestID":"94355ae0-0636-11ef-8c83-05b823ec2e4f","responseTime":36,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device-1 | {"data":{"peerconnection":"af7cf53e-ed2e-4339-a960-4d3503981dd3","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a0730cbb-a29b-42f8-beba-41bb7f7cbdc3"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:35Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"df1960dc-be85-489a-b838-e7c210c62192","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401695.7069645} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.249351,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"94405760-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39/signaling 200 10ms","method":"POST","requestID":"94405760-0636-11ef-8c83-05b823ec2e4f","responseTime":10,"status":200,"url":"/devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:35Z"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/af7cf53e-ed2e-4339-a960-4d3503981dd3' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"af7cf53e-ed2e-4339-a960-4d3503981dd3","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabd23340-ea65-4a30-80ec-3bb822d75424","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cb670f01-e20f-47e3-a576-bed9a827840d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401695.7202587} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.879482,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:35Z"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/abd23340-ea65-4a30-80ec-3bb822d75424","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/abd23340-ea65-4a30-80ec-3bb822d75424","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3025585078d4bafbdaf9b4a00be5f6f3","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"94422c20-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} 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/abd23340-ea65-4a30-80ec-3bb822d75424"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/af7cf53e-ed2e-4339-a960-4d3503981dd3"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"3025585078d4bafbdaf9b4a00be5f6f3","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"3025585078d4bafbdaf9b4a00be5f6f3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/abd23340-ea65-4a30-80ec-3bb822d75424/signaling 200 19ms","method":"POST","requestID":"94422c20-0636-11ef-8c83-05b823ec2e4f","responseTime":19,"status":200,"url":"/devices/abd23340-ea65-4a30-80ec-3bb822d75424/signaling"} device-1 | {"data":{"peerconnection":"af7cf53e-ed2e-4339-a960-4d3503981dd3","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"af7cf53e-ed2e-4339-a960-4d3503981dd3","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/af7cf53e-ed2e-4339-a960-4d3503981dd3' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"af7cf53e-ed2e-4339-a960-4d3503981dd3","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/abd23340-ea65-4a30-80ec-3bb822d75424"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/af7cf53e-ed2e-4339-a960-4d3503981dd3"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a0e1c0fd27262509bf29c2cce15816e2","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:35Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Faf7cf53e-ed2e-4339-a960-4d3503981dd3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cf0849b0-730c-4ab9-9fbd-971e1d6502bc","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401695.7917926} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.080909,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/af7cf53e-ed2e-4339-a960-4d3503981dd3","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/af7cf53e-ed2e-4339-a960-4d3503981dd3","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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"944d76c0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/af7cf53e-ed2e-4339-a960-4d3503981dd3 200 7ms","method":"GET","requestID":"944d76c0-0636-11ef-8c83-05b823ec2e4f","responseTime":7,"status":200,"url":"/peerconnections/af7cf53e-ed2e-4339-a960-4d3503981dd3"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 28ms","method":"POST","requestID":"a0e1c0fd27262509bf29c2cce15816e2","responseTime":28,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.033","http_referrer":"","http_user_agent":"node-fetch","requestID":"a0e1c0fd27262509bf29c2cce15816e2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:35Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabd23340-ea65-4a30-80ec-3bb822d75424","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8b8eedea-a355-40e9-b41a-9490b0ae9d7b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401695.8158615} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.030929,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/abd23340-ea65-4a30-80ec-3bb822d75424","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/abd23340-ea65-4a30-80ec-3bb822d75424","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9450f930-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/abd23340-ea65-4a30-80ec-3bb822d75424/signaling 200 9ms","method":"POST","requestID":"9450f930-0636-11ef-8c83-05b823ec2e4f","responseTime":9,"status":200,"url":"/devices/abd23340-ea65-4a30-80ec-3bb822d75424/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:35Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bfa7c6ad-36b7-4053-a2a3-ed7e4f172778","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401695.8257482} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.098229,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9452a6e0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39/signaling 200 8ms","method":"POST","requestID":"9452a6e0-0636-11ef-8c83-05b823ec2e4f","responseTime":8,"status":200,"url":"/devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5NX0.etxIawFvygiYYKjbWn6oul2lPXwSG287H7WY7syiU1M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9902f23a484f8fb26759713b7e241410","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a0730cbb-a29b-42f8-beba-41bb7f7cbdc3"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:35Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.307101,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a0730cbb-a29b-42f8-beba-41bb7f7cbdc3","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/a0730cbb-a29b-42f8-beba-41bb7f7cbdc3","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401695,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5NX0.etxIawFvygiYYKjbWn6oul2lPXwSG287H7WY7syiU1M"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9902f23a484f8fb26759713b7e241410"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/a0730cbb-a29b-42f8-beba-41bb7f7cbdc3"} gateway-1 | {"time_local":"29/Apr/2024:14:41:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a0730cbb-a29b-42f8-beba-41bb7f7cbdc3 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9902f23a484f8fb26759713b7e241410"} experiment-1 | {"level":"info","message":"GET /experiments/a0730cbb-a29b-42f8-beba-41bb7f7cbdc3 200 18ms","method":"GET","requestID":"9902f23a484f8fb26759713b7e241410","responseTime":18,"status":200,"url":"/experiments/a0730cbb-a29b-42f8-beba-41bb7f7cbdc3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5NX0.etxIawFvygiYYKjbWn6oul2lPXwSG287H7WY7syiU1M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a52dc824216557e37c1e736a371b8b2d","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/a0730cbb-a29b-42f8-beba-41bb7f7cbdc3"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:35Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.155608,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:35Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a0730cbb-a29b-42f8-beba-41bb7f7cbdc3","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/a0730cbb-a29b-42f8-beba-41bb7f7cbdc3","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401695,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5NX0.etxIawFvygiYYKjbWn6oul2lPXwSG287H7WY7syiU1M"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a52dc824216557e37c1e736a371b8b2d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a0730cbb-a29b-42f8-beba-41bb7f7cbdc3"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:35Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.390161,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:35Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/af7cf53e-ed2e-4339-a960-4d3503981dd3","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:http://localhost/peerconnections/af7cf53e-ed2e-4339-a960-4d3503981dd3","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401695,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5NX0.etxIawFvygiYYKjbWn6oul2lPXwSG287H7WY7syiU1M"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"946b37f0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/af7cf53e-ed2e-4339-a960-4d3503981dd3' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/af7cf53e-ed2e-4339-a960-4d3503981dd3' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"af7cf53e-ed2e-4339-a960-4d3503981dd3","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Faf7cf53e-ed2e-4339-a960-4d3503981dd3': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Faf7cf53e-ed2e-4339-a960-4d3503981dd3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"f4714e23-8bec-4eab-8251-c85fa3f06570","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401696.009819} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"11ff2596d1bf969c1bb526a73921b375","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"71a2a247-805a-4d67-96b9-0cb7c809b005","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401696.0105214} 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/abd23340-ea65-4a30-80ec-3bb822d75424"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/af7cf53e-ed2e-4339-a960-4d3503981dd3"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"420c7a7fef34b44f440e88d4b37cf976","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"946b37f0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} 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/abd23340-ea65-4a30-80ec-3bb822d75424"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/af7cf53e-ed2e-4339-a960-4d3503981dd3"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"af7cf53e-ed2e-4339-a960-4d3503981dd3","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/af7cf53e-ed2e-4339-a960-4d3503981dd3 204 155ms","method":"DELETE","requestID":"946b37f0-0636-11ef-8c83-05b823ec2e4f","responseTime":155,"status":204,"url":"/peerconnections/af7cf53e-ed2e-4339-a960-4d3503981dd3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a0730cbb-a29b-42f8-beba-41bb7f7cbdc3"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:36Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabd23340-ea65-4a30-80ec-3bb822d75424","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eec07d64-048f-42b3-b47e-b44f1843e436","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401696.2274396} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.186949,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/abd23340-ea65-4a30-80ec-3bb822d75424","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/abd23340-ea65-4a30-80ec-3bb822d75424","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"948f3ab0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/abd23340-ea65-4a30-80ec-3bb822d75424/signaling 200 16ms","method":"POST","requestID":"948f3ab0-0636-11ef-8c83-05b823ec2e4f","responseTime":16,"status":200,"url":"/devices/abd23340-ea65-4a30-80ec-3bb822d75424/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:36Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"18047a5a-6b83-4740-87a1-cbd531facc59","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401696.2470675} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.53883,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"949220e0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa0730cbb-a29b-42f8-beba-41bb7f7cbdc3': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa0730cbb-a29b-42f8-beba-41bb7f7cbdc3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"c525e2e4-4083-47ff-95af-f0a76483efeb","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401696.2554882} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39/signaling 200 18ms","method":"POST","requestID":"949220e0-0636-11ef-8c83-05b823ec2e4f","responseTime":18,"status":200,"url":"/devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39/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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d9bd658f-ef9f-4cc8-a7a6-38c6de3afd70","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401696.2560484} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a52dc824216557e37c1e736a371b8b2d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":40}} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/a0730cbb-a29b-42f8-beba-41bb7f7cbdc3"} gateway-1 | {"time_local":"29/Apr/2024:14:41:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/a0730cbb-a29b-42f8-beba-41bb7f7cbdc3 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.358","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a52dc824216557e37c1e736a371b8b2d"} gateway-1 | {"time_local":"29/Apr/2024:14:41:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2011","request_time":"2.471","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"1b66e03a87a14fd28ae809a887888b24"} experiment-1 | {"level":"info","message":"DELETE /experiments/a0730cbb-a29b-42f8-beba-41bb7f7cbdc3 204 355ms","method":"DELETE","requestID":"a52dc824216557e37c1e736a371b8b2d","responseTime":355,"status":204,"url":"/experiments/a0730cbb-a29b-42f8-beba-41bb7f7cbdc3"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 311ms","method":"POST","requestID":"11ff2596d1bf969c1bb526a73921b375","responseTime":311,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.316","http_referrer":"","http_user_agent":"node-fetch","requestID":"11ff2596d1bf969c1bb526a73921b375"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 311ms","method":"POST","requestID":"420c7a7fef34b44f440e88d4b37cf976","responseTime":311,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.316","http_referrer":"","http_user_agent":"node-fetch","requestID":"420c7a7fef34b44f440e88d4b37cf976"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5Nn0.xXVpWbCyi5A1UGp7_IN8IptqSeSqCgIMXgLnHPEAKrc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"99575686f4885c9baccbd295ae6e1892","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"29/Apr/2024:14:41:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1960","request_time":"1.006","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"046e139a25e8b40464bf4ff6d41c98bb"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/dfd9e0df-6bd8-4330-9bf2-8dd1c066ca39' closed"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:36Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.840491,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401696,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5Nn0.xXVpWbCyi5A1UGp7_IN8IptqSeSqCgIMXgLnHPEAKrc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"99575686f4885c9baccbd295ae6e1892"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/abd23340-ea65-4a30-80ec-3bb822d75424' 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:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe74e0fae-dadb-4b6e-b707-e5c45bd8eed1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"663e2e9f-fd22-4ce7-872a-02e36c200e42","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401696.3532043} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"99575686f4885c9baccbd295ae6e1892"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a4fa6918-3565-4ae6-bc4a-c9630a406237","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401696.3594334} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"99575686f4885c9baccbd295ae6e1892"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe74e0fae-dadb-4b6e-b707-e5c45bd8eed1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"5da9daaf-44ff-4bb5-a7a7-7a7ff3d75e26","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401696.3695776} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"735f7f12-6bf5-4771-9d11-ef81fcb96937","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401696.369884} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"99575686f4885c9baccbd295ae6e1892"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe74e0fae-dadb-4b6e-b707-e5c45bd8eed1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe74e0fae-dadb-4b6e-b707-e5c45bd8eed1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:36.369559936Z"}]},"request_id":"6479ba90-3c51-4720-afef-64121096d71e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401696.3753257} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"99575686f4885c9baccbd295ae6e1892"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"99575686f4885c9baccbd295ae6e1892"} device-1 | {"level":"info","message":"POST /devices? 201 51ms","method":"POST","requestID":"99575686f4885c9baccbd295ae6e1892","responseTime":51,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5Nn0.xXVpWbCyi5A1UGp7_IN8IptqSeSqCgIMXgLnHPEAKrc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"693e09ad101e855adf69ad13f59af836","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:36Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.92504,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401696,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5Nn0.xXVpWbCyi5A1UGp7_IN8IptqSeSqCgIMXgLnHPEAKrc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"693e09ad101e855adf69ad13f59af836"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2869700a-ce79-426e-822a-87b565164b28","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"dbd9f612-1627-421d-acc3-93dbd0e4f3aa","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401696.4005544} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"693e09ad101e855adf69ad13f59af836"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"10e82b2b-8fe2-45f6-8be6-956c1e93b530","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401696.4059858} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"693e09ad101e855adf69ad13f59af836"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2869700a-ce79-426e-822a-87b565164b28","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"4ab0caed-3961-4828-b209-9c0a32f5d898","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401696.4157524} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d491ada7-0881-4bd9-afc0-6e677ff75831","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401696.4159517} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"693e09ad101e855adf69ad13f59af836"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2869700a-ce79-426e-822a-87b565164b28","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2869700a-ce79-426e-822a-87b565164b28","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:36.415734427Z"}]},"request_id":"0c003c40-3770-4925-b743-1f9d31494727","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401696.4209094} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"693e09ad101e855adf69ad13f59af836"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"693e09ad101e855adf69ad13f59af836"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"693e09ad101e855adf69ad13f59af836","responseTime":39,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f64538c6350a1da84a32abc213706b07","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2024:14:41:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/2869700a-ce79-426e-822a-87b565164b28/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":"f64538c6350a1da84a32abc213706b07"} device-1 | {"level":"info","message":"OPTIONS /devices/2869700a-ce79-426e-822a-87b565164b28/websocket 200 1ms","method":"OPTIONS","requestID":"f64538c6350a1da84a32abc213706b07","responseTime":1,"status":200,"url":"/devices/2869700a-ce79-426e-822a-87b565164b28/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ec0b0723d514bee42a7a735d1ca4184f","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2024:14:41:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1/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":"ec0b0723d514bee42a7a735d1ca4184f"} device-1 | {"level":"info","message":"OPTIONS /devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1/websocket 200 0ms","method":"OPTIONS","requestID":"ec0b0723d514bee42a7a735d1ca4184f","responseTime":0,"status":200,"url":"/devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5OH0.kYW5pHcLHGBtmpVos-0tcqvfG06ll1h-G2ceOg4Os7c","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f668e839c2d458f27c5d62190c4883a2","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.684207,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:38Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5OH0.kYW5pHcLHGBtmpVos-0tcqvfG06ll1h-G2ceOg4Os7c","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3b375689c622a56b1a75c3177da1def6","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2869700a-ce79-426e-822a-87b565164b28","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/2869700a-ce79-426e-822a-87b565164b28","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401698,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5OH0.kYW5pHcLHGBtmpVos-0tcqvfG06ll1h-G2ceOg4Os7c"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f668e839c2d458f27c5d62190c4883a2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.88204,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401698,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5OH0.kYW5pHcLHGBtmpVos-0tcqvfG06ll1h-G2ceOg4Os7c"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3b375689c622a56b1a75c3177da1def6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2869700a-ce79-426e-822a-87b565164b28/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.032","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f668e839c2d458f27c5d62190c4883a2"} device-1 | {"level":"info","message":"POST /devices/2869700a-ce79-426e-822a-87b565164b28/websocket 200 25ms","method":"POST","requestID":"f668e839c2d458f27c5d62190c4883a2","responseTime":25,"status":200,"url":"/devices/2869700a-ce79-426e-822a-87b565164b28/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1/websocket 200 33ms","method":"POST","requestID":"3b375689c622a56b1a75c3177da1def6","responseTime":33,"status":200,"url":"/devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1/websocket"} gateway-1 | {"time_local":"29/Apr/2024:14:41:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.037","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3b375689c622a56b1a75c3177da1def6"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2869700a-ce79-426e-822a-87b565164b28' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5OH0.kYW5pHcLHGBtmpVos-0tcqvfG06ll1h-G2ceOg4Os7c","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0cb18918fe3599dd7dea9beed947a1f4","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.288131,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401698,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5OH0.kYW5pHcLHGBtmpVos-0tcqvfG06ll1h-G2ceOg4Os7c"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0cb18918fe3599dd7dea9beed947a1f4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe74e0fae-dadb-4b6e-b707-e5c45bd8eed1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe74e0fae-dadb-4b6e-b707-e5c45bd8eed1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:36.369559936Z"}]},"request_id":"cbc79a79-54f6-45de-a2ca-c09d1aa3062d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401698.46738} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0cb18918fe3599dd7dea9beed947a1f4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1? 200 17ms","method":"GET","requestID":"0cb18918fe3599dd7dea9beed947a1f4","responseTime":17,"status":200,"url":"/devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1?"} gateway-1 | {"time_local":"29/Apr/2024:14:41:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0cb18918fe3599dd7dea9beed947a1f4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5OH0.kYW5pHcLHGBtmpVos-0tcqvfG06ll1h-G2ceOg4Os7c","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"41313a94a79fd3dbbf22e55ae3590047","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.300641,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2869700a-ce79-426e-822a-87b565164b28","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/2869700a-ce79-426e-822a-87b565164b28","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401698,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5OH0.kYW5pHcLHGBtmpVos-0tcqvfG06ll1h-G2ceOg4Os7c"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"41313a94a79fd3dbbf22e55ae3590047"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2869700a-ce79-426e-822a-87b565164b28","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2869700a-ce79-426e-822a-87b565164b28","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:36.415734427Z"}]},"request_id":"1d3d5d96-d7ee-456a-b0cf-a8ce04457a64","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401698.4937427} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"41313a94a79fd3dbbf22e55ae3590047"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2869700a-ce79-426e-822a-87b565164b28? 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":"41313a94a79fd3dbbf22e55ae3590047"} device-1 | {"level":"info","message":"GET /devices/2869700a-ce79-426e-822a-87b565164b28? 200 19ms","method":"GET","requestID":"41313a94a79fd3dbbf22e55ae3590047","responseTime":19,"status":200,"url":"/devices/2869700a-ce79-426e-822a-87b565164b28?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5OH0.kYW5pHcLHGBtmpVos-0tcqvfG06ll1h-G2ceOg4Os7c","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e5ba0e6457cd7ee94535f985e4962562","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.313805,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401698,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5OH0.kYW5pHcLHGBtmpVos-0tcqvfG06ll1h-G2ceOg4Os7c"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e5ba0e6457cd7ee94535f985e4962562"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/795fb183-fe71-40f2-9334-0e52eb9f5de7"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/795fb183-fe71-40f2-9334-0e52eb9f5de7"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/795fb183-fe71-40f2-9334-0e52eb9f5de7"},"level":"info","message":"Successfully booked experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.636596,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401698,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5OH0.kYW5pHcLHGBtmpVos-0tcqvfG06ll1h-G2ceOg4Os7c"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"95f61db0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.869159,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2869700a-ce79-426e-822a-87b565164b28","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/2869700a-ce79-426e-822a-87b565164b28","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401698,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5OH0.kYW5pHcLHGBtmpVos-0tcqvfG06ll1h-G2ceOg4Os7c"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"95f66bd0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe74e0fae-dadb-4b6e-b707-e5c45bd8eed1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe74e0fae-dadb-4b6e-b707-e5c45bd8eed1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:36.369559936Z"}]},"request_id":"c4737bb7-d16b-4df2-af8a-f0693750cb84","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401698.5819476} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"95f61db0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2869700a-ce79-426e-822a-87b565164b28","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2869700a-ce79-426e-822a-87b565164b28","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:36.415734427Z"}]},"request_id":"00c91858-ff2b-49a4-9f26-c979dc34e854","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401698.5827348} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"95f66bd0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1? 200 19ms","method":"GET","requestID":"95f61db0-0636-11ef-8c83-05b823ec2e4f","responseTime":19,"status":200,"url":"/devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/2869700a-ce79-426e-822a-87b565164b28? 200 18ms","method":"GET","requestID":"95f66bd0-0636-11ef-8c83-05b823ec2e4f","responseTime":18,"status":200,"url":"/devices/2869700a-ce79-426e-822a-87b565164b28?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/795fb183-fe71-40f2-9334-0e52eb9f5de7"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/795fb183-fe71-40f2-9334-0e52eb9f5de7"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/795fb183-fe71-40f2-9334-0e52eb9f5de7"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/795fb183-fe71-40f2-9334-0e52eb9f5de7"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/795fb183-fe71-40f2-9334-0e52eb9f5de7"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/795fb183-fe71-40f2-9334-0e52eb9f5de7"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/795fb183-fe71-40f2-9334-0e52eb9f5de7"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/795fb183-fe71-40f2-9334-0e52eb9f5de7"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/795fb183-fe71-40f2-9334-0e52eb9f5de7"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.697213,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401698,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5OH0.kYW5pHcLHGBtmpVos-0tcqvfG06ll1h-G2ceOg4Os7c"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9601dd80-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.676917,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2869700a-ce79-426e-822a-87b565164b28","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/2869700a-ce79-426e-822a-87b565164b28","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401698,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5OH0.kYW5pHcLHGBtmpVos-0tcqvfG06ll1h-G2ceOg4Os7c"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"96022ba0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:38Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe74e0fae-dadb-4b6e-b707-e5c45bd8eed1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"297321be-7749-4156-ba58-8c10e978ab22","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401698.6598804} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe74e0fae-dadb-4b6e-b707-e5c45bd8eed1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe74e0fae-dadb-4b6e-b707-e5c45bd8eed1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:36.369559936Z"}]},"request_id":"0e83d788-9c38-46f2-bbc7-1f816fb682df","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401698.6608791} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.434504,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"960252b0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9601dd80-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2869700a-ce79-426e-822a-87b565164b28","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2869700a-ce79-426e-822a-87b565164b28","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:36.415734427Z"}]},"request_id":"34af9d14-9098-4113-8ffe-685bf0ae9fda","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401698.6625204} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"96022ba0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F795fb183-fe71-40f2-9334-0e52eb9f5de7#owner@http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F795fb183-fe71-40f2-9334-0e52eb9f5de7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"8783c88f-2304-4948-b26a-1f6bbc09f6c9","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401698.6673884} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8f917259-cea8-4b0b-9805-3ecd93d2e746","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401698.6678894} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e5ba0e6457cd7ee94535f985e4962562"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1/signaling 200 19ms","method":"POST","requestID":"960252b0-0636-11ef-8c83-05b823ec2e4f","responseTime":19,"status":200,"url":"/devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1? 200 23ms","method":"GET","requestID":"9601dd80-0636-11ef-8c83-05b823ec2e4f","responseTime":23,"status":200,"url":"/devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/2869700a-ce79-426e-822a-87b565164b28? 200 21ms","method":"GET","requestID":"96022ba0-0636-11ef-8c83-05b823ec2e4f","responseTime":21,"status":200,"url":"/devices/2869700a-ce79-426e-822a-87b565164b28?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:38Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/795fb183-fe71-40f2-9334-0e52eb9f5de7","user":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2869700a-ce79-426e-822a-87b565164b28","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a085be45-622f-427e-92c9-a5076b430858","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401698.678222} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.269983,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:38Z"} gateway-1 | {"time_local":"29/Apr/2024:14:41:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"777","request_time":"0.176","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e5ba0e6457cd7ee94535f985e4962562"} experiment-1 | {"level":"info","message":"POST /experiments? 201 170ms","method":"POST","requestID":"e5ba0e6457cd7ee94535f985e4962562","responseTime":170,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2869700a-ce79-426e-822a-87b565164b28","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2869700a-ce79-426e-822a-87b565164b28","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9605d520-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe74e0fae-dadb-4b6e-b707-e5c45bd8eed1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"82d9f1a8-a895-4395-bb7f-4eed12be8226","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401698.6804414} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.747772,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"96062340-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5OH0.kYW5pHcLHGBtmpVos-0tcqvfG06ll1h-G2ceOg4Os7c","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"23896530cfc8b641c8527d2067e61849","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/2869700a-ce79-426e-822a-87b565164b28/signaling 200 11ms","method":"POST","requestID":"9605d520-0636-11ef-8c83-05b823ec2e4f","responseTime":11,"status":200,"url":"/devices/2869700a-ce79-426e-822a-87b565164b28/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1/signaling 200 13ms","method":"POST","requestID":"96062340-0636-11ef-8c83-05b823ec2e4f","responseTime":13,"status":200,"url":"/devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1/signaling"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.717117,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401698,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5OH0.kYW5pHcLHGBtmpVos-0tcqvfG06ll1h-G2ceOg4Os7c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"23896530cfc8b641c8527d2067e61849"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:38Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe74e0fae-dadb-4b6e-b707-e5c45bd8eed1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe74e0fae-dadb-4b6e-b707-e5c45bd8eed1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:36.369559936Z"}]},"request_id":"2c81664f-7559-4a77-8f78-c889eceff59c","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401698.6954274} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2869700a-ce79-426e-822a-87b565164b28","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1bf4afb5-b022-4e84-b554-dbbcd3dd981f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401698.6954267} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"23896530cfc8b641c8527d2067e61849"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.646479,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2869700a-ce79-426e-822a-87b565164b28","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2869700a-ce79-426e-822a-87b565164b28","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"96086d30-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1? 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":"23896530cfc8b641c8527d2067e61849"} device-1 | {"level":"info","message":"GET /devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1? 200 14ms","method":"GET","requestID":"23896530cfc8b641c8527d2067e61849","responseTime":14,"status":200,"url":"/devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/2869700a-ce79-426e-822a-87b565164b28/signaling 200 10ms","method":"POST","requestID":"96086d30-0636-11ef-8c83-05b823ec2e4f","responseTime":10,"status":200,"url":"/devices/2869700a-ce79-426e-822a-87b565164b28/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/795fb183-fe71-40f2-9334-0e52eb9f5de7"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/795fb183-fe71-40f2-9334-0e52eb9f5de7"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"45d3bed7-e521-4b29-80b2-872b55a37be3"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"f1a61e30-537f-4463-9f0f-e5f7b6ab245a"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"ee9f4f6b-dc55-4489-8634-afaba0513948"}]},"level":"info","message":"Built pairwise service configurations"} 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/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/2869700a-ce79-426e-822a-87b565164b28"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5OH0.kYW5pHcLHGBtmpVos-0tcqvfG06ll1h-G2ceOg4Os7c","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c0be385a24d6ffdd8542a2a041590f12","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.911851,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401698,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5OH0.kYW5pHcLHGBtmpVos-0tcqvfG06ll1h-G2ceOg4Os7c"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"960a6900-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.663912,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2869700a-ce79-426e-822a-87b565164b28","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/2869700a-ce79-426e-822a-87b565164b28","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401698,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5OH0.kYW5pHcLHGBtmpVos-0tcqvfG06ll1h-G2ceOg4Os7c"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c0be385a24d6ffdd8542a2a041590f12"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2869700a-ce79-426e-822a-87b565164b28","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2869700a-ce79-426e-822a-87b565164b28","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:36.415734427Z"}]},"request_id":"7ce694e1-abdb-4388-86c5-5f7228f102e3","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401698.7145307} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c0be385a24d6ffdd8542a2a041590f12"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2869700a-ce79-426e-822a-87b565164b28? 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":"c0be385a24d6ffdd8542a2a041590f12"} device-1 | {"level":"info","message":"GET /devices/2869700a-ce79-426e-822a-87b565164b28? 200 13ms","method":"GET","requestID":"c0be385a24d6ffdd8542a2a041590f12","responseTime":13,"status":200,"url":"/devices/2869700a-ce79-426e-822a-87b565164b28?"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","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%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"b573c940-10e8-4f11-8de8-25f5c56d69e2","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401698.7191155} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"37467cad-dbd7-4319-ba28-3f92440fe060","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401698.719439} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"960a6900-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/c7b681d2-da1a-4dd1-8d09-3b0189e786cd'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/c7b681d2-da1a-4dd1-8d09-3b0189e786cd'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 35ms","method":"POST","requestID":"960a6900-0636-11ef-8c83-05b823ec2e4f","responseTime":35,"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"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/795fb183-fe71-40f2-9334-0e52eb9f5de7"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:38Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe74e0fae-dadb-4b6e-b707-e5c45bd8eed1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f9c8066b-1918-4976-9bfd-3cc681d6c5aa","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401698.7703917} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.552096,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9613dee0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1/signaling 200 9ms","method":"POST","requestID":"9613dee0-0636-11ef-8c83-05b823ec2e4f","responseTime":9,"status":200,"url":"/devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:38Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2869700a-ce79-426e-822a-87b565164b28","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cd6d3efa-8610-41b5-a277-f945fc281c17","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401698.7816966} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.672303,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2869700a-ce79-426e-822a-87b565164b28","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2869700a-ce79-426e-822a-87b565164b28","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"96158c90-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/2869700a-ce79-426e-822a-87b565164b28/signaling 200 9ms","method":"POST","requestID":"96158c90-0636-11ef-8c83-05b823ec2e4f","responseTime":9,"status":200,"url":"/devices/2869700a-ce79-426e-822a-87b565164b28/signaling"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/c7b681d2-da1a-4dd1-8d09-3b0189e786cd' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c7b681d2-da1a-4dd1-8d09-3b0189e786cd","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ec29480bb07930313aa222cee49bf66f","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/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/2869700a-ce79-426e-822a-87b565164b28"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/c7b681d2-da1a-4dd1-8d09-3b0189e786cd"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"ec29480bb07930313aa222cee49bf66f","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"ec29480bb07930313aa222cee49bf66f"} device-1 | {"data":{"peerconnection":"c7b681d2-da1a-4dd1-8d09-3b0189e786cd","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"c7b681d2-da1a-4dd1-8d09-3b0189e786cd","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/c7b681d2-da1a-4dd1-8d09-3b0189e786cd' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c7b681d2-da1a-4dd1-8d09-3b0189e786cd","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e483c178bbf583275645a37f0a48252b","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/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/2869700a-ce79-426e-822a-87b565164b28"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/c7b681d2-da1a-4dd1-8d09-3b0189e786cd"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:39Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc7b681d2-da1a-4dd1-8d09-3b0189e786cd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e87da55f-1add-4641-92df-42cc5241ca73","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401699.0221772} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.626328,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c7b681d2-da1a-4dd1-8d09-3b0189e786cd","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/c7b681d2-da1a-4dd1-8d09-3b0189e786cd","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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"963a2b90-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/c7b681d2-da1a-4dd1-8d09-3b0189e786cd 200 10ms","method":"GET","requestID":"963a2b90-0636-11ef-8c83-05b823ec2e4f","responseTime":10,"status":200,"url":"/peerconnections/c7b681d2-da1a-4dd1-8d09-3b0189e786cd"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 35ms","method":"POST","requestID":"e483c178bbf583275645a37f0a48252b","responseTime":35,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch","requestID":"e483c178bbf583275645a37f0a48252b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:39Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe74e0fae-dadb-4b6e-b707-e5c45bd8eed1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b856526e-1412-4882-a3e1-771502fbc6f2","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401699.053503} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.888439,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"963f0d90-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1/signaling 200 10ms","method":"POST","requestID":"963f0d90-0636-11ef-8c83-05b823ec2e4f","responseTime":10,"status":200,"url":"/devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:39Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2869700a-ce79-426e-822a-87b565164b28","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"46334649-f303-4037-88d6-1fc5d57efc65","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401699.0668378} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.943012,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2869700a-ce79-426e-822a-87b565164b28","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2869700a-ce79-426e-822a-87b565164b28","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9640e250-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/2869700a-ce79-426e-822a-87b565164b28/signaling 200 11ms","method":"POST","requestID":"9640e250-0636-11ef-8c83-05b823ec2e4f","responseTime":11,"status":200,"url":"/devices/2869700a-ce79-426e-822a-87b565164b28/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5OX0.yVXQFV-QiIC_LZJhiHbzY1KY2DPFeRvhUpKFZTwBP4Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"fda6290ecb2a40b8471627f6fa215537","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/795fb183-fe71-40f2-9334-0e52eb9f5de7"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:39Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.335777,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/795fb183-fe71-40f2-9334-0e52eb9f5de7","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/795fb183-fe71-40f2-9334-0e52eb9f5de7","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401699,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5OX0.yVXQFV-QiIC_LZJhiHbzY1KY2DPFeRvhUpKFZTwBP4Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fda6290ecb2a40b8471627f6fa215537"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/795fb183-fe71-40f2-9334-0e52eb9f5de7"} gateway-1 | {"time_local":"29/Apr/2024:14:41:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/795fb183-fe71-40f2-9334-0e52eb9f5de7 HTTP/1.1","status": "200","body_bytes_sent":"850","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fda6290ecb2a40b8471627f6fa215537"} experiment-1 | {"level":"info","message":"GET /experiments/795fb183-fe71-40f2-9334-0e52eb9f5de7 200 18ms","method":"GET","requestID":"fda6290ecb2a40b8471627f6fa215537","responseTime":18,"status":200,"url":"/experiments/795fb183-fe71-40f2-9334-0e52eb9f5de7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5OX0.yVXQFV-QiIC_LZJhiHbzY1KY2DPFeRvhUpKFZTwBP4Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ab1faeacef5d112bec23653c66751685","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/795fb183-fe71-40f2-9334-0e52eb9f5de7"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:39Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.332516,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:39Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/795fb183-fe71-40f2-9334-0e52eb9f5de7","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/795fb183-fe71-40f2-9334-0e52eb9f5de7","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401699,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5OX0.yVXQFV-QiIC_LZJhiHbzY1KY2DPFeRvhUpKFZTwBP4Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ab1faeacef5d112bec23653c66751685"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/795fb183-fe71-40f2-9334-0e52eb9f5de7"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:39Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.256892,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:39Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c7b681d2-da1a-4dd1-8d09-3b0189e786cd","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:http://localhost/peerconnections/c7b681d2-da1a-4dd1-8d09-3b0189e786cd","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401699,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5OX0.yVXQFV-QiIC_LZJhiHbzY1KY2DPFeRvhUpKFZTwBP4Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9664e510-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/c7b681d2-da1a-4dd1-8d09-3b0189e786cd' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/c7b681d2-da1a-4dd1-8d09-3b0189e786cd' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c7b681d2-da1a-4dd1-8d09-3b0189e786cd","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc7b681d2-da1a-4dd1-8d09-3b0189e786cd': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc7b681d2-da1a-4dd1-8d09-3b0189e786cd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"47c4dc12-43fd-4ed1-8289-f16f4577241a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401699.324327} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9a36aebab65d16bcdc514937117f278c","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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3826f1b9-90c2-45ae-8a5b-306cefc1929b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401699.3248465} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9664e510-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/2869700a-ce79-426e-822a-87b565164b28"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c7b681d2-da1a-4dd1-8d09-3b0189e786cd"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"076e56c66b9499266a23d34db0145090","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/2869700a-ce79-426e-822a-87b565164b28"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c7b681d2-da1a-4dd1-8d09-3b0189e786cd"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"c7b681d2-da1a-4dd1-8d09-3b0189e786cd","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/c7b681d2-da1a-4dd1-8d09-3b0189e786cd 204 61ms","method":"DELETE","requestID":"9664e510-0636-11ef-8c83-05b823ec2e4f","responseTime":61,"status":204,"url":"/peerconnections/c7b681d2-da1a-4dd1-8d09-3b0189e786cd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/795fb183-fe71-40f2-9334-0e52eb9f5de7"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:39Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe74e0fae-dadb-4b6e-b707-e5c45bd8eed1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9b43dbd2-459d-4960-8466-596d4470b9df","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401699.38946} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.898128,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9671b650-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F795fb183-fe71-40f2-9334-0e52eb9f5de7': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F795fb183-fe71-40f2-9334-0e52eb9f5de7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"1000e488-3976-41a8-87d7-89a6e45c4b7e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401699.3969069} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ba7dcc8a-ab05-4f7e-8b71-590c78489971","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401699.3971791} device-1 | {"level":"info","message":"POST /devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1/signaling 200 16ms","method":"POST","requestID":"9671b650-0636-11ef-8c83-05b823ec2e4f","responseTime":16,"status":200,"url":"/devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ab1faeacef5d112bec23653c66751685"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:39Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2869700a-ce79-426e-822a-87b565164b28","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"304838ea-3828-4da3-a144-56fbafc12c20","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401699.409204} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.024807,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2869700a-ce79-426e-822a-87b565164b28","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2869700a-ce79-426e-822a-87b565164b28","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9674c390-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/2869700a-ce79-426e-822a-87b565164b28/signaling 200 14ms","method":"POST","requestID":"9674c390-0636-11ef-8c83-05b823ec2e4f","responseTime":14,"status":200,"url":"/devices/2869700a-ce79-426e-822a-87b565164b28/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/795fb183-fe71-40f2-9334-0e52eb9f5de7"} gateway-1 | {"time_local":"29/Apr/2024:14:41:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/795fb183-fe71-40f2-9334-0e52eb9f5de7 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.189","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ab1faeacef5d112bec23653c66751685"} experiment-1 | {"level":"info","message":"DELETE /experiments/795fb183-fe71-40f2-9334-0e52eb9f5de7 204 184ms","method":"DELETE","requestID":"ab1faeacef5d112bec23653c66751685","responseTime":184,"status":204,"url":"/experiments/795fb183-fe71-40f2-9334-0e52eb9f5de7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 139ms","method":"POST","requestID":"9a36aebab65d16bcdc514937117f278c","responseTime":139,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.145","http_referrer":"","http_user_agent":"node-fetch","requestID":"9a36aebab65d16bcdc514937117f278c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 139ms","method":"POST","requestID":"076e56c66b9499266a23d34db0145090","responseTime":139,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.146","http_referrer":"","http_user_agent":"node-fetch","requestID":"076e56c66b9499266a23d34db0145090"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5OX0.yVXQFV-QiIC_LZJhiHbzY1KY2DPFeRvhUpKFZTwBP4Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f238f705c268abf1424d79bb8cfbc0c0","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"29/Apr/2024:14:41:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2179","request_time":"1.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":"95618f354a090c5692978508e866785a"} gateway-1 | {"time_local":"29/Apr/2024:14:41:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2046","request_time":"1.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":"5c5d800217f1ad87bb6cf49829d9cc7c"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:39Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":3.077879,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401699,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5OX0.yVXQFV-QiIC_LZJhiHbzY1KY2DPFeRvhUpKFZTwBP4Q"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/2869700a-ce79-426e-822a-87b565164b28' closed"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f238f705c268abf1424d79bb8cfbc0c0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e74e0fae-dadb-4b6e-b707-e5c45bd8eed1' 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:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ed734d2-d6ca-422b-885c-9a59124d9631","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"de1085df-2519-403e-adae-86a568eed825","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401699.4932358} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f238f705c268abf1424d79bb8cfbc0c0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"553badd3-106b-4de9-ac26-fa76ca4cc60b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401699.497577} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f238f705c268abf1424d79bb8cfbc0c0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ed734d2-d6ca-422b-885c-9a59124d9631","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"df9f9b2d-822f-418d-bbe4-1b10fa9afe83","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401699.510342} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3afb362d-1d75-4cce-8dbf-302320cc25f0","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401699.510374} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f238f705c268abf1424d79bb8cfbc0c0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ed734d2-d6ca-422b-885c-9a59124d9631","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ed734d2-d6ca-422b-885c-9a59124d9631","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:39.510319016Z"}]},"request_id":"21a3105b-746e-4884-94e7-b9d06d487454","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401699.515101} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f238f705c268abf1424d79bb8cfbc0c0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f238f705c268abf1424d79bb8cfbc0c0"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"f238f705c268abf1424d79bb8cfbc0c0","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5OX0.yVXQFV-QiIC_LZJhiHbzY1KY2DPFeRvhUpKFZTwBP4Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f99ce5c88d4239823bbcfb3f8c8535ce","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:39Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.66162,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401699,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTY5OX0.yVXQFV-QiIC_LZJhiHbzY1KY2DPFeRvhUpKFZTwBP4Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f99ce5c88d4239823bbcfb3f8c8535ce"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa54f5541-fdca-4bac-b962-27a997fcc269","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3f27732f-e681-4fd6-bdaf-9659f5f3f9a0","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401699.5386198} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f99ce5c88d4239823bbcfb3f8c8535ce"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"42e39a2c-12b5-447b-b300-223a894b986b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401699.5428913} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f99ce5c88d4239823bbcfb3f8c8535ce"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa54f5541-fdca-4bac-b962-27a997fcc269","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"8cd96fcb-9f49-4a34-ae4f-a5e73dc19557","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401699.5519953} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c492572e-de3a-4308-b118-de31075a8c42","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401699.5521262} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f99ce5c88d4239823bbcfb3f8c8535ce"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa54f5541-fdca-4bac-b962-27a997fcc269","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa54f5541-fdca-4bac-b962-27a997fcc269","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:39.551977477Z"}]},"request_id":"a607d614-d345-423b-8666-a01fa16e28b5","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401699.5559268} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f99ce5c88d4239823bbcfb3f8c8535ce"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 36ms","method":"POST","requestID":"f99ce5c88d4239823bbcfb3f8c8535ce","responseTime":36,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2024:14:41:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f99ce5c88d4239823bbcfb3f8c8535ce"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwMH0.Nj07IG8YuVRCuQSq4I7n4UW8QuiSTYAb7Xj04J9EtaM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6900eccf7277911f5f7e22e5657ccc7c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:40Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.902374,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:40Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a54f5541-fdca-4bac-b962-27a997fcc269","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/a54f5541-fdca-4bac-b962-27a997fcc269","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401700,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwMH0.Nj07IG8YuVRCuQSq4I7n4UW8QuiSTYAb7Xj04J9EtaM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6900eccf7277911f5f7e22e5657ccc7c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa54f5541-fdca-4bac-b962-27a997fcc269","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa54f5541-fdca-4bac-b962-27a997fcc269","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:39.551977477Z"}]},"request_id":"2d4f51d5-43d3-4f33-8a9e-c6a95d3f513e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401700.048398} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6900eccf7277911f5f7e22e5657ccc7c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7c2d8966-c232-4f7b-a378-aceba14f245a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401700.054707} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6900eccf7277911f5f7e22e5657ccc7c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa54f5541-fdca-4bac-b962-27a997fcc269","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa54f5541-fdca-4bac-b962-27a997fcc269","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:39.551977477Z"}]},"request_id":"f8047795-3b15-43df-beea-f201154cb906","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401700.0831397} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6900eccf7277911f5f7e22e5657ccc7c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/a54f5541-fdca-4bac-b962-27a997fcc269 200 51ms","method":"PATCH","requestID":"6900eccf7277911f5f7e22e5657ccc7c","responseTime":51,"status":200,"url":"/devices/a54f5541-fdca-4bac-b962-27a997fcc269"} gateway-1 | {"time_local":"29/Apr/2024:14:41:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/a54f5541-fdca-4bac-b962-27a997fcc269 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.057","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"6900eccf7277911f5f7e22e5657ccc7c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwMH0.Nj07IG8YuVRCuQSq4I7n4UW8QuiSTYAb7Xj04J9EtaM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"38b99605da4ddf9fe5a7d551550f9f43","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:40Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.120769,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:40Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a54f5541-fdca-4bac-b962-27a997fcc269","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/a54f5541-fdca-4bac-b962-27a997fcc269","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401700,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwMH0.Nj07IG8YuVRCuQSq4I7n4UW8QuiSTYAb7Xj04J9EtaM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"38b99605da4ddf9fe5a7d551550f9f43"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a54f5541-fdca-4bac-b962-27a997fcc269/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.030","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"38b99605da4ddf9fe5a7d551550f9f43"} device-1 | {"level":"info","message":"POST /devices/a54f5541-fdca-4bac-b962-27a997fcc269/websocket 200 24ms","method":"POST","requestID":"38b99605da4ddf9fe5a7d551550f9f43","responseTime":24,"status":200,"url":"/devices/a54f5541-fdca-4bac-b962-27a997fcc269/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a54f5541-fdca-4bac-b962-27a997fcc269' connected"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"734fce8efd5dfc08664344d1d3ce3779","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2024:14:41:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/8ed734d2-d6ca-422b-885c-9a59124d9631/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":"734fce8efd5dfc08664344d1d3ce3779"} device-1 | {"level":"info","message":"OPTIONS /devices/8ed734d2-d6ca-422b-885c-9a59124d9631/websocket 200 1ms","method":"OPTIONS","requestID":"734fce8efd5dfc08664344d1d3ce3779","responseTime":1,"status":200,"url":"/devices/8ed734d2-d6ca-422b-885c-9a59124d9631/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwMX0.6M5mZ44-FP4hCW-FaPwiQVkIxg3YJM1_pZYpkaxYYhU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2fe83860a4ef7c7876305eb6ef471856","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.191065,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:41Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ed734d2-d6ca-422b-885c-9a59124d9631","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/8ed734d2-d6ca-422b-885c-9a59124d9631","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401701,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwMX0.6M5mZ44-FP4hCW-FaPwiQVkIxg3YJM1_pZYpkaxYYhU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2fe83860a4ef7c7876305eb6ef471856"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8ed734d2-d6ca-422b-885c-9a59124d9631/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.068","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2fe83860a4ef7c7876305eb6ef471856"} device-1 | {"level":"info","message":"POST /devices/8ed734d2-d6ca-422b-885c-9a59124d9631/websocket 200 61ms","method":"POST","requestID":"2fe83860a4ef7c7876305eb6ef471856","responseTime":61,"status":200,"url":"/devices/8ed734d2-d6ca-422b-885c-9a59124d9631/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8ed734d2-d6ca-422b-885c-9a59124d9631' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwMX0.6M5mZ44-FP4hCW-FaPwiQVkIxg3YJM1_pZYpkaxYYhU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c933b122d395711cb8fc770bd22b09c5","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.197311,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ed734d2-d6ca-422b-885c-9a59124d9631","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/8ed734d2-d6ca-422b-885c-9a59124d9631","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401701,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwMX0.6M5mZ44-FP4hCW-FaPwiQVkIxg3YJM1_pZYpkaxYYhU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c933b122d395711cb8fc770bd22b09c5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ed734d2-d6ca-422b-885c-9a59124d9631","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ed734d2-d6ca-422b-885c-9a59124d9631","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:39.510319016Z"}]},"request_id":"8548494f-b4c2-47c3-9d81-257f0ffa3039","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401701.6586125} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c933b122d395711cb8fc770bd22b09c5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8ed734d2-d6ca-422b-885c-9a59124d9631? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c933b122d395711cb8fc770bd22b09c5"} device-1 | {"level":"info","message":"GET /devices/8ed734d2-d6ca-422b-885c-9a59124d9631? 200 20ms","method":"GET","requestID":"c933b122d395711cb8fc770bd22b09c5","responseTime":20,"status":200,"url":"/devices/8ed734d2-d6ca-422b-885c-9a59124d9631?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwMX0.6M5mZ44-FP4hCW-FaPwiQVkIxg3YJM1_pZYpkaxYYhU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"090f742072a130dc1f094a2d5ff239eb","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.671062,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a54f5541-fdca-4bac-b962-27a997fcc269","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/a54f5541-fdca-4bac-b962-27a997fcc269","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401701,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwMX0.6M5mZ44-FP4hCW-FaPwiQVkIxg3YJM1_pZYpkaxYYhU"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"090f742072a130dc1f094a2d5ff239eb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa54f5541-fdca-4bac-b962-27a997fcc269","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa54f5541-fdca-4bac-b962-27a997fcc269","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:39.551977477Z"}]},"request_id":"e08fc7f0-dca0-41d2-846a-9e766e8f9fa2","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401701.692595} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"090f742072a130dc1f094a2d5ff239eb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a54f5541-fdca-4bac-b962-27a997fcc269? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.033","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"090f742072a130dc1f094a2d5ff239eb"} device-1 | {"level":"info","message":"GET /devices/a54f5541-fdca-4bac-b962-27a997fcc269? 200 25ms","method":"GET","requestID":"090f742072a130dc1f094a2d5ff239eb","responseTime":25,"status":200,"url":"/devices/a54f5541-fdca-4bac-b962-27a997fcc269?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwMX0.6M5mZ44-FP4hCW-FaPwiQVkIxg3YJM1_pZYpkaxYYhU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"19471916f676c0928e90d19b8939dccf","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.12931,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401701,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwMX0.6M5mZ44-FP4hCW-FaPwiQVkIxg3YJM1_pZYpkaxYYhU"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"19471916f676c0928e90d19b8939dccf"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab6dfef8-ae4e-4c92-b19e-04ae25dccf74"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab6dfef8-ae4e-4c92-b19e-04ae25dccf74"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab6dfef8-ae4e-4c92-b19e-04ae25dccf74"},"level":"info","message":"Successfully booked experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.550019,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ed734d2-d6ca-422b-885c-9a59124d9631","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/8ed734d2-d6ca-422b-885c-9a59124d9631","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401701,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwMX0.6M5mZ44-FP4hCW-FaPwiQVkIxg3YJM1_pZYpkaxYYhU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"97dd2d30-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.721061,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a54f5541-fdca-4bac-b962-27a997fcc269","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/a54f5541-fdca-4bac-b962-27a997fcc269","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401701,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwMX0.6M5mZ44-FP4hCW-FaPwiQVkIxg3YJM1_pZYpkaxYYhU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"97dd5440-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ed734d2-d6ca-422b-885c-9a59124d9631","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ed734d2-d6ca-422b-885c-9a59124d9631","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:39.510319016Z"}]},"request_id":"4f24a0fa-4c8b-4829-926b-d962935b39c8","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401701.7733133} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"97dd2d30-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa54f5541-fdca-4bac-b962-27a997fcc269","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa54f5541-fdca-4bac-b962-27a997fcc269","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:39.551977477Z"}]},"request_id":"3f432020-16ad-46e6-8711-31112751da33","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401701.7742364} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"97dd5440-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/8ed734d2-d6ca-422b-885c-9a59124d9631? 200 16ms","method":"GET","requestID":"97dd2d30-0636-11ef-8c83-05b823ec2e4f","responseTime":16,"status":200,"url":"/devices/8ed734d2-d6ca-422b-885c-9a59124d9631?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/a54f5541-fdca-4bac-b962-27a997fcc269? 200 16ms","method":"GET","requestID":"97dd5440-0636-11ef-8c83-05b823ec2e4f","responseTime":16,"status":200,"url":"/devices/a54f5541-fdca-4bac-b962-27a997fcc269?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab6dfef8-ae4e-4c92-b19e-04ae25dccf74"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab6dfef8-ae4e-4c92-b19e-04ae25dccf74"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab6dfef8-ae4e-4c92-b19e-04ae25dccf74"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab6dfef8-ae4e-4c92-b19e-04ae25dccf74"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab6dfef8-ae4e-4c92-b19e-04ae25dccf74"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab6dfef8-ae4e-4c92-b19e-04ae25dccf74"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab6dfef8-ae4e-4c92-b19e-04ae25dccf74"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab6dfef8-ae4e-4c92-b19e-04ae25dccf74"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.077125,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:41Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab6dfef8-ae4e-4c92-b19e-04ae25dccf74"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ed734d2-d6ca-422b-885c-9a59124d9631","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/8ed734d2-d6ca-422b-885c-9a59124d9631","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401701,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwMX0.6M5mZ44-FP4hCW-FaPwiQVkIxg3YJM1_pZYpkaxYYhU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"97e8ed00-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.83115,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a54f5541-fdca-4bac-b962-27a997fcc269","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/a54f5541-fdca-4bac-b962-27a997fcc269","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401701,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwMX0.6M5mZ44-FP4hCW-FaPwiQVkIxg3YJM1_pZYpkaxYYhU"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"97e91410-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.353963,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:41Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ed734d2-d6ca-422b-885c-9a59124d9631","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2033a3a0-3a2c-47ab-b8ad-026db176a78a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401701.8509421} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ed734d2-d6ca-422b-885c-9a59124d9631","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8ed734d2-d6ca-422b-885c-9a59124d9631","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"97e96230-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ed734d2-d6ca-422b-885c-9a59124d9631","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ed734d2-d6ca-422b-885c-9a59124d9631","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:39.510319016Z"}]},"request_id":"3ec84b0e-48dd-415a-9bc1-ac1ffe505f06","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401701.854059} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"97e8ed00-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa54f5541-fdca-4bac-b962-27a997fcc269","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa54f5541-fdca-4bac-b962-27a997fcc269","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:39.551977477Z"}]},"request_id":"9be59793-f232-4d12-ae3f-8f7c34976848","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401701.858268} device-1 | {"level":"info","message":"POST /devices/8ed734d2-d6ca-422b-885c-9a59124d9631/signaling 200 16ms","method":"POST","requestID":"97e96230-0636-11ef-8c83-05b823ec2e4f","responseTime":16,"status":200,"url":"/devices/8ed734d2-d6ca-422b-885c-9a59124d9631/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"97e91410-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fab6dfef8-ae4e-4c92-b19e-04ae25dccf74#owner@http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fab6dfef8-ae4e-4c92-b19e-04ae25dccf74","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"756d4219-edff-426d-b0e1-938c83a57b1c","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401701.8644586} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"362a2833-d166-4ea2-8926-cdf5958f9a56","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401701.8648653} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"19471916f676c0928e90d19b8939dccf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:41Z"} device-1 | {"level":"info","message":"GET /devices/8ed734d2-d6ca-422b-885c-9a59124d9631? 200 29ms","method":"GET","requestID":"97e8ed00-0636-11ef-8c83-05b823ec2e4f","responseTime":29,"status":200,"url":"/devices/8ed734d2-d6ca-422b-885c-9a59124d9631?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/a54f5541-fdca-4bac-b962-27a997fcc269? 200 29ms","method":"GET","requestID":"97e91410-0636-11ef-8c83-05b823ec2e4f","responseTime":29,"status":200,"url":"/devices/a54f5541-fdca-4bac-b962-27a997fcc269?"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa54f5541-fdca-4bac-b962-27a997fcc269","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a736520e-a31e-4edb-849d-1b4b694fd514","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401701.8707373} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.65297,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a54f5541-fdca-4bac-b962-27a997fcc269","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a54f5541-fdca-4bac-b962-27a997fcc269","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"97ec9680-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/a54f5541-fdca-4bac-b962-27a997fcc269/signaling 200 14ms","method":"POST","requestID":"97ec9680-0636-11ef-8c83-05b823ec2e4f","responseTime":14,"status":200,"url":"/devices/a54f5541-fdca-4bac-b962-27a997fcc269/signaling"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:41Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/ab6dfef8-ae4e-4c92-b19e-04ae25dccf74","user":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment-1 | {"level":"info","message":"POST /experiments? 201 173ms","method":"POST","requestID":"19471916f676c0928e90d19b8939dccf","responseTime":173,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"29/Apr/2024:14:41:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.179","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"19471916f676c0928e90d19b8939dccf"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ed734d2-d6ca-422b-885c-9a59124d9631","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"07b6e36f-107c-4b3e-afa5-879ab9c8c11b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401701.8818421} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.04742,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ed734d2-d6ca-422b-885c-9a59124d9631","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8ed734d2-d6ca-422b-885c-9a59124d9631","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"97ee6b40-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwMX0.6M5mZ44-FP4hCW-FaPwiQVkIxg3YJM1_pZYpkaxYYhU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d88b900dfde4c30725d3b16b75a56829","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/8ed734d2-d6ca-422b-885c-9a59124d9631/signaling 200 11ms","method":"POST","requestID":"97ee6b40-0636-11ef-8c83-05b823ec2e4f","responseTime":11,"status":200,"url":"/devices/8ed734d2-d6ca-422b-885c-9a59124d9631/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.169682,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ed734d2-d6ca-422b-885c-9a59124d9631","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/8ed734d2-d6ca-422b-885c-9a59124d9631","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401701,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwMX0.6M5mZ44-FP4hCW-FaPwiQVkIxg3YJM1_pZYpkaxYYhU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d88b900dfde4c30725d3b16b75a56829"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:41Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa54f5541-fdca-4bac-b962-27a997fcc269","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"64528113-950e-47ee-a907-4c828a63d2ea","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401701.895155} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.891013,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a54f5541-fdca-4bac-b962-27a997fcc269","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a54f5541-fdca-4bac-b962-27a997fcc269","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"97f08e20-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ed734d2-d6ca-422b-885c-9a59124d9631","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ed734d2-d6ca-422b-885c-9a59124d9631","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:39.510319016Z"}]},"request_id":"1c9aff9b-b9ec-43af-8d68-b81bafb3eb5f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401701.8999658} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/a54f5541-fdca-4bac-b962-27a997fcc269/signaling 200 10ms","method":"POST","requestID":"97f08e20-0636-11ef-8c83-05b823ec2e4f","responseTime":10,"status":200,"url":"/devices/a54f5541-fdca-4bac-b962-27a997fcc269/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d88b900dfde4c30725d3b16b75a56829"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab6dfef8-ae4e-4c92-b19e-04ae25dccf74"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab6dfef8-ae4e-4c92-b19e-04ae25dccf74"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"2d9867f9-2f7a-46ba-b23d-911442f481f5"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"77d331c1-3dd8-4842-b1c5-751b3b82726d"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"0ef5cb2d-57de-45fa-9bce-056ee640f8f3"}]},"level":"info","message":"Built pairwise service configurations"} 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/8ed734d2-d6ca-422b-885c-9a59124d9631"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/a54f5541-fdca-4bac-b962-27a997fcc269"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8ed734d2-d6ca-422b-885c-9a59124d9631? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d88b900dfde4c30725d3b16b75a56829"} device-1 | {"level":"info","message":"GET /devices/8ed734d2-d6ca-422b-885c-9a59124d9631? 200 18ms","method":"GET","requestID":"d88b900dfde4c30725d3b16b75a56829","responseTime":18,"status":200,"url":"/devices/8ed734d2-d6ca-422b-885c-9a59124d9631?"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.030358,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401701,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwMX0.6M5mZ44-FP4hCW-FaPwiQVkIxg3YJM1_pZYpkaxYYhU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"97f2b100-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwMX0.6M5mZ44-FP4hCW-FaPwiQVkIxg3YJM1_pZYpkaxYYhU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"99d0421319d1521c552e78d055f1b507","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.113122,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a54f5541-fdca-4bac-b962-27a997fcc269","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/a54f5541-fdca-4bac-b962-27a997fcc269","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401701,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwMX0.6M5mZ44-FP4hCW-FaPwiQVkIxg3YJM1_pZYpkaxYYhU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"99d0421319d1521c552e78d055f1b507"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","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%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"90dc0f0f-4e4d-408d-a46b-3b272eb42c4b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401701.922415} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e0eaf825-2569-40a0-aba2-dd90ff5928ed","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401701.9226649} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa54f5541-fdca-4bac-b962-27a997fcc269","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa54f5541-fdca-4bac-b962-27a997fcc269","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:39.551977477Z"}]},"request_id":"baee2b88-ae9e-4e68-a8d2-acaef57177e5","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401701.923819} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"97f2b100-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"99d0421319d1521c552e78d055f1b507"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/a54f5541-fdca-4bac-b962-27a997fcc269? 200 22ms","method":"GET","requestID":"99d0421319d1521c552e78d055f1b507","responseTime":22,"status":200,"url":"/devices/a54f5541-fdca-4bac-b962-27a997fcc269?"} gateway-1 | {"time_local":"29/Apr/2024:14:41:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a54f5541-fdca-4bac-b962-27a997fcc269? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"99d0421319d1521c552e78d055f1b507"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/502b6aae-f77e-445f-99ac-e801625c78c3'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/502b6aae-f77e-445f-99ac-e801625c78c3'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 48ms","method":"POST","requestID":"97f2b100-0636-11ef-8c83-05b823ec2e4f","responseTime":48,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device-1 | {"data":{"peerconnection":"502b6aae-f77e-445f-99ac-e801625c78c3","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab6dfef8-ae4e-4c92-b19e-04ae25dccf74"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:41Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ed734d2-d6ca-422b-885c-9a59124d9631","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"12d8bdf2-aca5-41da-9fd6-8a00b811f780","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401701.9930441} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.003337,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ed734d2-d6ca-422b-885c-9a59124d9631","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8ed734d2-d6ca-422b-885c-9a59124d9631","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"97ff5b30-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/8ed734d2-d6ca-422b-885c-9a59124d9631/signaling 200 12ms","method":"POST","requestID":"97ff5b30-0636-11ef-8c83-05b823ec2e4f","responseTime":12,"status":200,"url":"/devices/8ed734d2-d6ca-422b-885c-9a59124d9631/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:42Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa54f5541-fdca-4bac-b962-27a997fcc269","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"629a2fc6-fad4-4c0c-b1ff-7c457736554d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401702.0067725} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.93272,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a54f5541-fdca-4bac-b962-27a997fcc269","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a54f5541-fdca-4bac-b962-27a997fcc269","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"98017e10-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/502b6aae-f77e-445f-99ac-e801625c78c3' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"502b6aae-f77e-445f-99ac-e801625c78c3","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f7377f55d8419316707430be7e24dbce","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/8ed734d2-d6ca-422b-885c-9a59124d9631"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/a54f5541-fdca-4bac-b962-27a997fcc269"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/502b6aae-f77e-445f-99ac-e801625c78c3"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/a54f5541-fdca-4bac-b962-27a997fcc269/signaling 200 15ms","method":"POST","requestID":"98017e10-0636-11ef-8c83-05b823ec2e4f","responseTime":15,"status":200,"url":"/devices/a54f5541-fdca-4bac-b962-27a997fcc269/signaling"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"f7377f55d8419316707430be7e24dbce","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"f7377f55d8419316707430be7e24dbce"} device-1 | {"data":{"peerconnection":"502b6aae-f77e-445f-99ac-e801625c78c3","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"502b6aae-f77e-445f-99ac-e801625c78c3","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/502b6aae-f77e-445f-99ac-e801625c78c3' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"502b6aae-f77e-445f-99ac-e801625c78c3","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c29b29c4bbb77c19b75c8ae7a530b6b4","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/8ed734d2-d6ca-422b-885c-9a59124d9631"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/a54f5541-fdca-4bac-b962-27a997fcc269"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/502b6aae-f77e-445f-99ac-e801625c78c3"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:42Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F502b6aae-f77e-445f-99ac-e801625c78c3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f7dcde76-2648-46a6-b517-bf89d78c9904","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401702.0828495} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.38043,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/502b6aae-f77e-445f-99ac-e801625c78c3","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/502b6aae-f77e-445f-99ac-e801625c78c3","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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"980d3de0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/502b6aae-f77e-445f-99ac-e801625c78c3 200 9ms","method":"GET","requestID":"980d3de0-0636-11ef-8c83-05b823ec2e4f","responseTime":9,"status":200,"url":"/peerconnections/502b6aae-f77e-445f-99ac-e801625c78c3"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 38ms","method":"POST","requestID":"c29b29c4bbb77c19b75c8ae7a530b6b4","responseTime":38,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.040","http_referrer":"","http_user_agent":"node-fetch","requestID":"c29b29c4bbb77c19b75c8ae7a530b6b4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:42Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ed734d2-d6ca-422b-885c-9a59124d9631","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"116203d9-ebe3-4245-9b70-2be62f6c1384","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401702.1202936} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.792366,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ed734d2-d6ca-422b-885c-9a59124d9631","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8ed734d2-d6ca-422b-885c-9a59124d9631","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"981246f0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/8ed734d2-d6ca-422b-885c-9a59124d9631/signaling 200 17ms","method":"POST","requestID":"981246f0-0636-11ef-8c83-05b823ec2e4f","responseTime":17,"status":200,"url":"/devices/8ed734d2-d6ca-422b-885c-9a59124d9631/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:42Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa54f5541-fdca-4bac-b962-27a997fcc269","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4633158d-d672-42c8-80f5-f02c9041ee5b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401702.136073} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.531396,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a54f5541-fdca-4bac-b962-27a997fcc269","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a54f5541-fdca-4bac-b962-27a997fcc269","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"98155430-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/a54f5541-fdca-4bac-b962-27a997fcc269/signaling 200 11ms","method":"POST","requestID":"98155430-0636-11ef-8c83-05b823ec2e4f","responseTime":11,"status":200,"url":"/devices/a54f5541-fdca-4bac-b962-27a997fcc269/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwMn0.-trX4I-mRsx6jVxXhCiHtR7VImGU0bFJJ7pI0TLav88","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"1e146f4061d42bd08e90ea646d40831c","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ab6dfef8-ae4e-4c92-b19e-04ae25dccf74"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:42Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.171975,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ab6dfef8-ae4e-4c92-b19e-04ae25dccf74","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/ab6dfef8-ae4e-4c92-b19e-04ae25dccf74","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401702,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwMn0.-trX4I-mRsx6jVxXhCiHtR7VImGU0bFJJ7pI0TLav88"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1e146f4061d42bd08e90ea646d40831c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/ab6dfef8-ae4e-4c92-b19e-04ae25dccf74"} experiment-1 | {"level":"info","message":"GET /experiments/ab6dfef8-ae4e-4c92-b19e-04ae25dccf74 200 16ms","method":"GET","requestID":"1e146f4061d42bd08e90ea646d40831c","responseTime":16,"status":200,"url":"/experiments/ab6dfef8-ae4e-4c92-b19e-04ae25dccf74"} gateway-1 | {"time_local":"29/Apr/2024:14:41:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ab6dfef8-ae4e-4c92-b19e-04ae25dccf74 HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1e146f4061d42bd08e90ea646d40831c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwMn0.-trX4I-mRsx6jVxXhCiHtR7VImGU0bFJJ7pI0TLav88","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"45e8df51b434e51144a77a4445a2c551","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ab6dfef8-ae4e-4c92-b19e-04ae25dccf74"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:42Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.320311,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:42Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ab6dfef8-ae4e-4c92-b19e-04ae25dccf74","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/ab6dfef8-ae4e-4c92-b19e-04ae25dccf74","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401702,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwMn0.-trX4I-mRsx6jVxXhCiHtR7VImGU0bFJJ7pI0TLav88"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45e8df51b434e51144a77a4445a2c551"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab6dfef8-ae4e-4c92-b19e-04ae25dccf74"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:42Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.283181,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:42Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/502b6aae-f77e-445f-99ac-e801625c78c3","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:http://localhost/peerconnections/502b6aae-f77e-445f-99ac-e801625c78c3","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401702,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwMn0.-trX4I-mRsx6jVxXhCiHtR7VImGU0bFJJ7pI0TLav88"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"983d4e90-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/502b6aae-f77e-445f-99ac-e801625c78c3' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/502b6aae-f77e-445f-99ac-e801625c78c3' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"502b6aae-f77e-445f-99ac-e801625c78c3","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F502b6aae-f77e-445f-99ac-e801625c78c3': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F502b6aae-f77e-445f-99ac-e801625c78c3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"3ae328d1-fc86-4cec-9790-87caf7a2626a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401702.4173458} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9556aa0c-9e1c-4075-afe3-0d2d19838f72","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401702.4176517} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"a87001bfc6418c927b57da6e95c6ca07","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/8ed734d2-d6ca-422b-885c-9a59124d9631"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/a54f5541-fdca-4bac-b962-27a997fcc269"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/502b6aae-f77e-445f-99ac-e801625c78c3"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"983d4e90-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1b200c99e55304642412c7d9aee31415","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/8ed734d2-d6ca-422b-885c-9a59124d9631"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/a54f5541-fdca-4bac-b962-27a997fcc269"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/502b6aae-f77e-445f-99ac-e801625c78c3"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"502b6aae-f77e-445f-99ac-e801625c78c3","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/502b6aae-f77e-445f-99ac-e801625c78c3 204 51ms","method":"DELETE","requestID":"983d4e90-0636-11ef-8c83-05b823ec2e4f","responseTime":51,"status":204,"url":"/peerconnections/502b6aae-f77e-445f-99ac-e801625c78c3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab6dfef8-ae4e-4c92-b19e-04ae25dccf74"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:42Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ed734d2-d6ca-422b-885c-9a59124d9631","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3166bb30-dd60-4a4e-a533-b35c5714b1a4","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401702.4747734} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.131575,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ed734d2-d6ca-422b-885c-9a59124d9631","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8ed734d2-d6ca-422b-885c-9a59124d9631","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9848c040-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/8ed734d2-d6ca-422b-885c-9a59124d9631/signaling 200 14ms","method":"POST","requestID":"9848c040-0636-11ef-8c83-05b823ec2e4f","responseTime":14,"status":200,"url":"/devices/8ed734d2-d6ca-422b-885c-9a59124d9631/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fab6dfef8-ae4e-4c92-b19e-04ae25dccf74': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fab6dfef8-ae4e-4c92-b19e-04ae25dccf74","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"f6b0aa26-b58f-4516-859f-442fb64f547f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401702.4874911} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a31ccc7a-93f1-4178-834e-14c68b877601","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401702.4881127} authorization-1 | {"level":"info","message":"POST /relations/update 200 24ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45e8df51b434e51144a77a4445a2c551"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":24}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:42Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa54f5541-fdca-4bac-b962-27a997fcc269","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3b88b1c2-6e6a-47b1-8dce-54ec5123e6fe","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401702.495045} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.567291,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a54f5541-fdca-4bac-b962-27a997fcc269","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a54f5541-fdca-4bac-b962-27a997fcc269","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"984ba670-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/a54f5541-fdca-4bac-b962-27a997fcc269/signaling 200 14ms","method":"POST","requestID":"984ba670-0636-11ef-8c83-05b823ec2e4f","responseTime":14,"status":200,"url":"/devices/a54f5541-fdca-4bac-b962-27a997fcc269/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ab6dfef8-ae4e-4c92-b19e-04ae25dccf74"} gateway-1 | {"time_local":"29/Apr/2024:14:41:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ab6dfef8-ae4e-4c92-b19e-04ae25dccf74 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.180","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"45e8df51b434e51144a77a4445a2c551"} experiment-1 | {"level":"info","message":"DELETE /experiments/ab6dfef8-ae4e-4c92-b19e-04ae25dccf74 204 175ms","method":"DELETE","requestID":"45e8df51b434e51144a77a4445a2c551","responseTime":175,"status":204,"url":"/experiments/ab6dfef8-ae4e-4c92-b19e-04ae25dccf74"} gateway-1 | {"time_local":"29/Apr/2024:14:41:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1997","request_time":"2.431","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"9de2a153c0d3b2ca22fe5b9511353ceb"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 135ms","method":"POST","requestID":"a87001bfc6418c927b57da6e95c6ca07","responseTime":135,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.138","http_referrer":"","http_user_agent":"node-fetch","requestID":"a87001bfc6418c927b57da6e95c6ca07"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 134ms","method":"POST","requestID":"1b200c99e55304642412c7d9aee31415","responseTime":134,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.139","http_referrer":"","http_user_agent":"node-fetch","requestID":"1b200c99e55304642412c7d9aee31415"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwMn0.-trX4I-mRsx6jVxXhCiHtR7VImGU0bFJJ7pI0TLav88","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"6674296a07805080dfef096a9410a27e","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:42Z"} gateway-1 | {"time_local":"29/Apr/2024:14:41:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1944","request_time":"0.970","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"164145832e6d57b0fe24293cb329c086"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.014259,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401702,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwMn0.-trX4I-mRsx6jVxXhCiHtR7VImGU0bFJJ7pI0TLav88"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6674296a07805080dfef096a9410a27e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a54f5541-fdca-4bac-b962-27a997fcc269' 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:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43d46a3c-bee9-49e3-9de1-238a28131e0f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"23095acf-d9d0-45b9-b544-b91136263fc5","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401702.5779827} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6674296a07805080dfef096a9410a27e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/8ed734d2-d6ca-422b-885c-9a59124d9631' 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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5cd5eae8-2b63-4b50-88de-dc0ada732226","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401702.5831091} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6674296a07805080dfef096a9410a27e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43d46a3c-bee9-49e3-9de1-238a28131e0f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"e4137dec-58b5-4cfc-9714-d21f0203a32a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401702.5930014} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dd87fd3c-60ff-41d5-8cf1-bed37ae3f5a1","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401702.5931478} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6674296a07805080dfef096a9410a27e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43d46a3c-bee9-49e3-9de1-238a28131e0f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43d46a3c-bee9-49e3-9de1-238a28131e0f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:42.592979185Z"}]},"request_id":"9edfda6b-c4bd-4983-bab1-5a479033a614","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401702.5977983} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6674296a07805080dfef096a9410a27e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6674296a07805080dfef096a9410a27e"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"6674296a07805080dfef096a9410a27e","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwMn0.-trX4I-mRsx6jVxXhCiHtR7VImGU0bFJJ7pI0TLav88","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fb71609df1b85a920c5989322e4deae3","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:42Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.741415,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401702,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwMn0.-trX4I-mRsx6jVxXhCiHtR7VImGU0bFJJ7pI0TLav88"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fb71609df1b85a920c5989322e4deae3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3d1b333-bd70-44d2-abaf-f8a0591944a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"bfeeb3a1-c2d1-4d57-aa36-c83f317bdffd","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401702.6220262} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fb71609df1b85a920c5989322e4deae3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7f27e773-b327-4947-9ee3-b62f34c4e7be","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401702.6283767} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fb71609df1b85a920c5989322e4deae3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3d1b333-bd70-44d2-abaf-f8a0591944a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"e93c90a9-8f2c-4e14-b72e-f49b156b9b5b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401702.6361809} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f9b59e9e-a42b-4536-93bc-295a04355dfc","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401702.6363587} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fb71609df1b85a920c5989322e4deae3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3d1b333-bd70-44d2-abaf-f8a0591944a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3d1b333-bd70-44d2-abaf-f8a0591944a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:42.636153397Z"}]},"request_id":"53e440e2-ed05-4bbc-b330-7afba65de8d8","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401702.6410918} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fb71609df1b85a920c5989322e4deae3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 38ms","method":"POST","requestID":"fb71609df1b85a920c5989322e4deae3","responseTime":38,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fb71609df1b85a920c5989322e4deae3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwM30.H23Wk1XON8u3sXdjUzWl2UWODsoI3fuQUaDYzYQ037A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"04ce49d18dbbc5ce2ebedf78e36bb233","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:43Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.217165,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:43Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/43d46a3c-bee9-49e3-9de1-238a28131e0f","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/43d46a3c-bee9-49e3-9de1-238a28131e0f","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401703,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwM30.H23Wk1XON8u3sXdjUzWl2UWODsoI3fuQUaDYzYQ037A"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"04ce49d18dbbc5ce2ebedf78e36bb233"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43d46a3c-bee9-49e3-9de1-238a28131e0f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43d46a3c-bee9-49e3-9de1-238a28131e0f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:42.592979185Z"}]},"request_id":"bd8ae2dd-073b-448a-b81e-fdbc9c89d6c3","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401703.1293278} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"04ce49d18dbbc5ce2ebedf78e36bb233"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"72dcd1e1-0ee9-4b2d-a9f9-3819aace4427","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401703.1347275} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"04ce49d18dbbc5ce2ebedf78e36bb233"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43d46a3c-bee9-49e3-9de1-238a28131e0f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43d46a3c-bee9-49e3-9de1-238a28131e0f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:42.592979185Z"}]},"request_id":"609036d9-8847-47dd-8ce0-22ef30cbad10","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401703.163496} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"04ce49d18dbbc5ce2ebedf78e36bb233"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/43d46a3c-bee9-49e3-9de1-238a28131e0f HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.056","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"04ce49d18dbbc5ce2ebedf78e36bb233"} device-1 | {"level":"info","message":"PATCH /devices/43d46a3c-bee9-49e3-9de1-238a28131e0f 200 50ms","method":"PATCH","requestID":"04ce49d18dbbc5ce2ebedf78e36bb233","responseTime":50,"status":200,"url":"/devices/43d46a3c-bee9-49e3-9de1-238a28131e0f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwM30.H23Wk1XON8u3sXdjUzWl2UWODsoI3fuQUaDYzYQ037A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"64451209e05289683498fafbfe89ff41","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:43Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.341586,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:43Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/43d46a3c-bee9-49e3-9de1-238a28131e0f","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/43d46a3c-bee9-49e3-9de1-238a28131e0f","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401703,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwM30.H23Wk1XON8u3sXdjUzWl2UWODsoI3fuQUaDYzYQ037A"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"64451209e05289683498fafbfe89ff41"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/43d46a3c-bee9-49e3-9de1-238a28131e0f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.031","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"64451209e05289683498fafbfe89ff41"} device-1 | {"level":"info","message":"POST /devices/43d46a3c-bee9-49e3-9de1-238a28131e0f/websocket 200 24ms","method":"POST","requestID":"64451209e05289683498fafbfe89ff41","responseTime":24,"status":200,"url":"/devices/43d46a3c-bee9-49e3-9de1-238a28131e0f/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/43d46a3c-bee9-49e3-9de1-238a28131e0f' connected"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7906a0b945a9f7646a19b3d7f7ab9a34","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2024:14:41:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6/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":"7906a0b945a9f7646a19b3d7f7ab9a34"} device-1 | {"level":"info","message":"OPTIONS /devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6/websocket 200 1ms","method":"OPTIONS","requestID":"7906a0b945a9f7646a19b3d7f7ab9a34","responseTime":1,"status":200,"url":"/devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwNH0.witltmnT-yPWMhASoA-2JFgjlO7i-AkxA3BYBlwHpA4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"92b80e420ed7de673184cf0d1490d568","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:44Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.198815,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:44Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401704,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwNH0.witltmnT-yPWMhASoA-2JFgjlO7i-AkxA3BYBlwHpA4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92b80e420ed7de673184cf0d1490d568"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6/websocket 200 37ms","method":"POST","requestID":"92b80e420ed7de673184cf0d1490d568","responseTime":37,"status":200,"url":"/devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6/websocket"} gateway-1 | {"time_local":"29/Apr/2024:14:41:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6/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":"92b80e420ed7de673184cf0d1490d568"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwNH0.witltmnT-yPWMhASoA-2JFgjlO7i-AkxA3BYBlwHpA4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"014ef444d8b6807a4ad717e43e760208","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:44Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.167396,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/43d46a3c-bee9-49e3-9de1-238a28131e0f","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/43d46a3c-bee9-49e3-9de1-238a28131e0f","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401704,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwNH0.witltmnT-yPWMhASoA-2JFgjlO7i-AkxA3BYBlwHpA4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"014ef444d8b6807a4ad717e43e760208"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43d46a3c-bee9-49e3-9de1-238a28131e0f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43d46a3c-bee9-49e3-9de1-238a28131e0f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:42.592979185Z"}]},"request_id":"6669af67-ab1a-4aa1-af97-679370c32836","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401704.729028} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"014ef444d8b6807a4ad717e43e760208"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/43d46a3c-bee9-49e3-9de1-238a28131e0f? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"014ef444d8b6807a4ad717e43e760208"} device-1 | {"level":"info","message":"GET /devices/43d46a3c-bee9-49e3-9de1-238a28131e0f? 200 18ms","method":"GET","requestID":"014ef444d8b6807a4ad717e43e760208","responseTime":18,"status":200,"url":"/devices/43d46a3c-bee9-49e3-9de1-238a28131e0f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwNH0.witltmnT-yPWMhASoA-2JFgjlO7i-AkxA3BYBlwHpA4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"954b4f41a5199894c06f275b479aa0b2","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:44Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.308196,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401704,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwNH0.witltmnT-yPWMhASoA-2JFgjlO7i-AkxA3BYBlwHpA4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"954b4f41a5199894c06f275b479aa0b2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3d1b333-bd70-44d2-abaf-f8a0591944a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3d1b333-bd70-44d2-abaf-f8a0591944a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:42.636153397Z"}]},"request_id":"99bf27dc-f1c7-4e5f-9b91-9efe607dc85d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401704.7551875} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"954b4f41a5199894c06f275b479aa0b2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"954b4f41a5199894c06f275b479aa0b2"} device-1 | {"level":"info","message":"GET /devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6? 200 18ms","method":"GET","requestID":"954b4f41a5199894c06f275b479aa0b2","responseTime":18,"status":200,"url":"/devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwNH0.witltmnT-yPWMhASoA-2JFgjlO7i-AkxA3BYBlwHpA4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f7f8e2068767332a5e803badb210eb0e","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:44Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.180967,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401704,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwNH0.witltmnT-yPWMhASoA-2JFgjlO7i-AkxA3BYBlwHpA4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f7f8e2068767332a5e803badb210eb0e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c6171b9f-2c24-4ced-a268-275d15f19518"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c6171b9f-2c24-4ced-a268-275d15f19518"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c6171b9f-2c24-4ced-a268-275d15f19518"},"level":"info","message":"Successfully booked experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:44Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.235886,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:44Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/43d46a3c-bee9-49e3-9de1-238a28131e0f","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/43d46a3c-bee9-49e3-9de1-238a28131e0f","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401704,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwNH0.witltmnT-yPWMhASoA-2JFgjlO7i-AkxA3BYBlwHpA4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"99b102d0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.627571,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401704,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwNH0.witltmnT-yPWMhASoA-2JFgjlO7i-AkxA3BYBlwHpA4"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"99b150f0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43d46a3c-bee9-49e3-9de1-238a28131e0f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43d46a3c-bee9-49e3-9de1-238a28131e0f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:42.592979185Z"}]},"request_id":"63d05ebf-9605-4212-8d49-6532b52c0ff1","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401704.8427665} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"99b102d0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3d1b333-bd70-44d2-abaf-f8a0591944a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3d1b333-bd70-44d2-abaf-f8a0591944a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:42.636153397Z"}]},"request_id":"429e5453-3f9d-4e14-a685-5ebd3371ee30","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401704.8446195} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"99b150f0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/43d46a3c-bee9-49e3-9de1-238a28131e0f? 200 23ms","method":"GET","requestID":"99b102d0-0636-11ef-8c83-05b823ec2e4f","responseTime":23,"status":200,"url":"/devices/43d46a3c-bee9-49e3-9de1-238a28131e0f?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6? 200 23ms","method":"GET","requestID":"99b150f0-0636-11ef-8c83-05b823ec2e4f","responseTime":23,"status":200,"url":"/devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c6171b9f-2c24-4ced-a268-275d15f19518"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c6171b9f-2c24-4ced-a268-275d15f19518"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c6171b9f-2c24-4ced-a268-275d15f19518"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c6171b9f-2c24-4ced-a268-275d15f19518"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c6171b9f-2c24-4ced-a268-275d15f19518"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c6171b9f-2c24-4ced-a268-275d15f19518"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c6171b9f-2c24-4ced-a268-275d15f19518"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c6171b9f-2c24-4ced-a268-275d15f19518"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:44Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.335257,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:44Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:44Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c6171b9f-2c24-4ced-a268-275d15f19518"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/43d46a3c-bee9-49e3-9de1-238a28131e0f","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/43d46a3c-bee9-49e3-9de1-238a28131e0f","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401704,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwNH0.witltmnT-yPWMhASoA-2JFgjlO7i-AkxA3BYBlwHpA4"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"99bebe70-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.032173,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401704,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwNH0.witltmnT-yPWMhASoA-2JFgjlO7i-AkxA3BYBlwHpA4"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"99bf0c90-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43d46a3c-bee9-49e3-9de1-238a28131e0f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43d46a3c-bee9-49e3-9de1-238a28131e0f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:42.592979185Z"}]},"request_id":"05ccf2ac-017a-46ab-bf4c-3493e51d1f6f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401704.9362543} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3d1b333-bd70-44d2-abaf-f8a0591944a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3d1b333-bd70-44d2-abaf-f8a0591944a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:42.636153397Z"}]},"request_id":"1fb6e6ce-29a5-4ec6-946e-df93c41b3d86","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401704.9372551} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"99bebe70-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"99bf0c90-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43d46a3c-bee9-49e3-9de1-238a28131e0f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eba79fd2-a37e-4c55-9202-6c4d211023aa","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401704.9399302} authorization-1 | {"client_addr":"127.0.0.1:40480","level":"info","msg":"Received request.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:44Z"} authorization-1 | {"client_addr":"127.0.0.1:40480","level":"info","msg":"Sent response.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.097175,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/43d46a3c-bee9-49e3-9de1-238a28131e0f","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/43d46a3c-bee9-49e3-9de1-238a28131e0f","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"} authorization-1 | {"level":"info","message":"POST /authorize 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"99bf5ab0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":18}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc6171b9f-2c24-4ced-a268-275d15f19518#owner@http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc6171b9f-2c24-4ced-a268-275d15f19518","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"4208856b-54f4-4b2a-9347-d358867681e6","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401704.9446828} device-1 | {"level":"info","message":"GET /devices/43d46a3c-bee9-49e3-9de1-238a28131e0f? 200 27ms","method":"GET","requestID":"99bebe70-0636-11ef-8c83-05b823ec2e4f","responseTime":27,"status":200,"url":"/devices/43d46a3c-bee9-49e3-9de1-238a28131e0f?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"657d5803-32ac-401a-81f1-0aa67afd5cad","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401704.9449177} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6? 200 26ms","method":"GET","requestID":"99bf0c90-0636-11ef-8c83-05b823ec2e4f","responseTime":26,"status":200,"url":"/devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f7f8e2068767332a5e803badb210eb0e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/43d46a3c-bee9-49e3-9de1-238a28131e0f/signaling 200 29ms","method":"POST","requestID":"99bf5ab0-0636-11ef-8c83-05b823ec2e4f","responseTime":29,"status":200,"url":"/devices/43d46a3c-bee9-49e3-9de1-238a28131e0f/signaling"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:44Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43d46a3c-bee9-49e3-9de1-238a28131e0f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"224408ae-dfe7-4447-9eb6-1e2b1bf10d8a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401704.954981} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.342673,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/43d46a3c-bee9-49e3-9de1-238a28131e0f","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/43d46a3c-bee9-49e3-9de1-238a28131e0f","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"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"99c35250-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:44Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/c6171b9f-2c24-4ced-a268-275d15f19518","user":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"29/Apr/2024:14:41:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.198","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f7f8e2068767332a5e803badb210eb0e"} experiment-1 | {"level":"info","message":"POST /experiments? 201 191ms","method":"POST","requestID":"f7f8e2068767332a5e803badb210eb0e","responseTime":191,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3d1b333-bd70-44d2-abaf-f8a0591944a6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"92470f84-d2be-4195-831f-26175d06f873","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401704.9619036} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.208695,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"99c463c0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwNH0.witltmnT-yPWMhASoA-2JFgjlO7i-AkxA3BYBlwHpA4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"64053aaa2ffed577b449ff3fbe6621cc","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/43d46a3c-bee9-49e3-9de1-238a28131e0f/signaling 200 20ms","method":"POST","requestID":"99c35250-0636-11ef-8c83-05b823ec2e4f","responseTime":20,"status":200,"url":"/devices/43d46a3c-bee9-49e3-9de1-238a28131e0f/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:44Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6/signaling 200 19ms","method":"POST","requestID":"99c463c0-0636-11ef-8c83-05b823ec2e4f","responseTime":19,"status":200,"url":"/devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6/signaling"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.179177,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/43d46a3c-bee9-49e3-9de1-238a28131e0f","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/43d46a3c-bee9-49e3-9de1-238a28131e0f","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401704,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwNH0.witltmnT-yPWMhASoA-2JFgjlO7i-AkxA3BYBlwHpA4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"64053aaa2ffed577b449ff3fbe6621cc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:44Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3d1b333-bd70-44d2-abaf-f8a0591944a6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7ce6491f-5154-4655-bf0e-c51c9568da5b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401704.978651} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.668105,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"99c6fbd0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43d46a3c-bee9-49e3-9de1-238a28131e0f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43d46a3c-bee9-49e3-9de1-238a28131e0f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:42.592979185Z"}]},"request_id":"83a4d297-e918-4612-a7bd-9b3dc8316f6c","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401704.9835625} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"64053aaa2ffed577b449ff3fbe6621cc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6/signaling 200 19ms","method":"POST","requestID":"99c6fbd0-0636-11ef-8c83-05b823ec2e4f","responseTime":19,"status":200,"url":"/devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c6171b9f-2c24-4ced-a268-275d15f19518"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c6171b9f-2c24-4ced-a268-275d15f19518"},"level":"info","message":"Building connection plan"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"79724013-1aff-4158-be0a-06625b639236"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"a02d390c-857f-4cd2-8915-cd4084a730f0"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"10c6a52e-523c-4547-b192-94b8270b50bc"}]},"level":"info","message":"Built pairwise service configurations"} 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/43d46a3c-bee9-49e3-9de1-238a28131e0f"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} gateway-1 | {"time_local":"29/Apr/2024:14:41:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/43d46a3c-bee9-49e3-9de1-238a28131e0f? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"64053aaa2ffed577b449ff3fbe6621cc"} device-1 | {"level":"info","message":"GET /devices/43d46a3c-bee9-49e3-9de1-238a28131e0f? 200 24ms","method":"GET","requestID":"64053aaa2ffed577b449ff3fbe6621cc","responseTime":24,"status":200,"url":"/devices/43d46a3c-bee9-49e3-9de1-238a28131e0f?"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:44Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwNH0.witltmnT-yPWMhASoA-2JFgjlO7i-AkxA3BYBlwHpA4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ce647ab086ef15dde2d277d16391e78d","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.894647,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:44Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401704,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwNH0.witltmnT-yPWMhASoA-2JFgjlO7i-AkxA3BYBlwHpA4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"99ca5730-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:45Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.616854,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401704,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwNH0.witltmnT-yPWMhASoA-2JFgjlO7i-AkxA3BYBlwHpA4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ce647ab086ef15dde2d277d16391e78d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","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%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"35ee3f63-6360-41c7-a08d-73ce2bf15fdd","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401705.0063472} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"57025017-0fc2-42a1-88c1-ef97ed2ec57d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401705.0065854} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3d1b333-bd70-44d2-abaf-f8a0591944a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3d1b333-bd70-44d2-abaf-f8a0591944a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:42.636153397Z"}]},"request_id":"aeb38af4-b77b-4a4b-9520-7054b87ce122","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401705.0071297} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"99ca5730-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ce647ab086ef15dde2d277d16391e78d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ce647ab086ef15dde2d277d16391e78d"} device-1 | {"level":"info","message":"GET /devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6? 200 14ms","method":"GET","requestID":"ce647ab086ef15dde2d277d16391e78d","responseTime":14,"status":200,"url":"/devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/17fbf4f2-428e-405a-af55-07bd98d2d850'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/17fbf4f2-428e-405a-af55-07bd98d2d850'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 35ms","method":"POST","requestID":"99ca5730-0636-11ef-8c83-05b823ec2e4f","responseTime":35,"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"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c6171b9f-2c24-4ced-a268-275d15f19518"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:45Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43d46a3c-bee9-49e3-9de1-238a28131e0f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"478829b1-0062-45db-9878-b7d1413b40d4","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401705.0664496} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.634323,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/43d46a3c-bee9-49e3-9de1-238a28131e0f","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/43d46a3c-bee9-49e3-9de1-238a28131e0f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"99d49060-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/43d46a3c-bee9-49e3-9de1-238a28131e0f/signaling 200 10ms","method":"POST","requestID":"99d49060-0636-11ef-8c83-05b823ec2e4f","responseTime":10,"status":200,"url":"/devices/43d46a3c-bee9-49e3-9de1-238a28131e0f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:45Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3d1b333-bd70-44d2-abaf-f8a0591944a6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2a2490ad-25a5-4716-b5a8-80d6dfaf7898","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401705.0796547} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":1.995385,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"99d68c30-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6/signaling 200 8ms","method":"POST","requestID":"99d68c30-0636-11ef-8c83-05b823ec2e4f","responseTime":8,"status":200,"url":"/devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6/signaling"} device-1 | {"data":{"peerconnection":"17fbf4f2-428e-405a-af55-07bd98d2d850","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/17fbf4f2-428e-405a-af55-07bd98d2d850' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"17fbf4f2-428e-405a-af55-07bd98d2d850","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"57bff0661a7639887144241eaf839763","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/43d46a3c-bee9-49e3-9de1-238a28131e0f"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/17fbf4f2-428e-405a-af55-07bd98d2d850"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 10ms","method":"POST","requestID":"57bff0661a7639887144241eaf839763","responseTime":10,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"57bff0661a7639887144241eaf839763"} device-1 | {"data":{"peerconnection":"17fbf4f2-428e-405a-af55-07bd98d2d850","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"17fbf4f2-428e-405a-af55-07bd98d2d850","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/17fbf4f2-428e-405a-af55-07bd98d2d850' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"17fbf4f2-428e-405a-af55-07bd98d2d850","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"75217e5a244c0144005809193e2a94a6","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/43d46a3c-bee9-49e3-9de1-238a28131e0f"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/17fbf4f2-428e-405a-af55-07bd98d2d850"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:46Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F17fbf4f2-428e-405a-af55-07bd98d2d850","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ea4d3a92-f007-47f3-821a-92bd64e7323d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401706.1677542} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.611845,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/17fbf4f2-428e-405a-af55-07bd98d2d850","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/17fbf4f2-428e-405a-af55-07bd98d2d850","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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9a7c9030-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/17fbf4f2-428e-405a-af55-07bd98d2d850 200 10ms","method":"GET","requestID":"9a7c9030-0636-11ef-8c83-05b823ec2e4f","responseTime":10,"status":200,"url":"/peerconnections/17fbf4f2-428e-405a-af55-07bd98d2d850"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 43ms","method":"POST","requestID":"75217e5a244c0144005809193e2a94a6","responseTime":43,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch","requestID":"75217e5a244c0144005809193e2a94a6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:46Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43d46a3c-bee9-49e3-9de1-238a28131e0f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f7d87838-48fe-4fbd-ac26-96783526a777","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401706.200979} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.397632,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/43d46a3c-bee9-49e3-9de1-238a28131e0f","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/43d46a3c-bee9-49e3-9de1-238a28131e0f","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9a819940-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/43d46a3c-bee9-49e3-9de1-238a28131e0f/signaling 200 11ms","method":"POST","requestID":"9a819940-0636-11ef-8c83-05b823ec2e4f","responseTime":11,"status":200,"url":"/devices/43d46a3c-bee9-49e3-9de1-238a28131e0f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:46Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3d1b333-bd70-44d2-abaf-f8a0591944a6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c9662bd4-1fac-4754-b6bf-13a171b91ee5","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401706.2140741} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.777778,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6","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"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9a839510-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"POST /devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6/signaling 200 10ms","method":"POST","requestID":"9a839510-0636-11ef-8c83-05b823ec2e4f","responseTime":10,"status":200,"url":"/devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwNn0.UpbuK6UWaJnhMpb2EAUo8ecMkNLSUEUYX24SpV_0sQU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"bcabc2c0912c9e9eb52087e317d029b3","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/c6171b9f-2c24-4ced-a268-275d15f19518"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:46Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.871421,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c6171b9f-2c24-4ced-a268-275d15f19518","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/c6171b9f-2c24-4ced-a268-275d15f19518","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401706,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwNn0.UpbuK6UWaJnhMpb2EAUo8ecMkNLSUEUYX24SpV_0sQU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bcabc2c0912c9e9eb52087e317d029b3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/c6171b9f-2c24-4ced-a268-275d15f19518"} gateway-1 | {"time_local":"29/Apr/2024:14:41:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/c6171b9f-2c24-4ced-a268-275d15f19518 HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bcabc2c0912c9e9eb52087e317d029b3"} experiment-1 | {"level":"info","message":"GET /experiments/c6171b9f-2c24-4ced-a268-275d15f19518 200 22ms","method":"GET","requestID":"bcabc2c0912c9e9eb52087e317d029b3","responseTime":22,"status":200,"url":"/experiments/c6171b9f-2c24-4ced-a268-275d15f19518"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwNn0.UpbuK6UWaJnhMpb2EAUo8ecMkNLSUEUYX24SpV_0sQU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4518efbde1507d43f46a5682a5daeb42","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/c6171b9f-2c24-4ced-a268-275d15f19518"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:46Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.204754,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:46Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c6171b9f-2c24-4ced-a268-275d15f19518","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/c6171b9f-2c24-4ced-a268-275d15f19518","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401706,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwNn0.UpbuK6UWaJnhMpb2EAUo8ecMkNLSUEUYX24SpV_0sQU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4518efbde1507d43f46a5682a5daeb42"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c6171b9f-2c24-4ced-a268-275d15f19518"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:46Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.95381,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:46Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/17fbf4f2-428e-405a-af55-07bd98d2d850","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:http://localhost/peerconnections/17fbf4f2-428e-405a-af55-07bd98d2d850","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401706,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwNn0.UpbuK6UWaJnhMpb2EAUo8ecMkNLSUEUYX24SpV_0sQU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9aa3c740-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/17fbf4f2-428e-405a-af55-07bd98d2d850' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/17fbf4f2-428e-405a-af55-07bd98d2d850' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"17fbf4f2-428e-405a-af55-07bd98d2d850","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"94b16a0227bf1b14f75230e714c767b6","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F17fbf4f2-428e-405a-af55-07bd98d2d850': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F17fbf4f2-428e-405a-af55-07bd98d2d850","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"09dbc68b-952c-497e-a733-0201234b59be","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401706.4433038} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"40fcbd91-d88e-4b72-bb51-23b69b711d3f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401706.4436486} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b7eb257ce42b03e5ead3e21a8fabba47","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/43d46a3c-bee9-49e3-9de1-238a28131e0f"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/17fbf4f2-428e-405a-af55-07bd98d2d850"}}},"level":"info","message":"received a callback"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/43d46a3c-bee9-49e3-9de1-238a28131e0f"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/17fbf4f2-428e-405a-af55-07bd98d2d850"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9aa3c740-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"data":{"peerconnection":"17fbf4f2-428e-405a-af55-07bd98d2d850","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/17fbf4f2-428e-405a-af55-07bd98d2d850 204 48ms","method":"DELETE","requestID":"9aa3c740-0636-11ef-8c83-05b823ec2e4f","responseTime":48,"status":204,"url":"/peerconnections/17fbf4f2-428e-405a-af55-07bd98d2d850"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c6171b9f-2c24-4ced-a268-275d15f19518"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:46Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43d46a3c-bee9-49e3-9de1-238a28131e0f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"96c3cb25-7841-4873-bf07-14bd995dcd2e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401706.4984605} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.61553,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/43d46a3c-bee9-49e3-9de1-238a28131e0f","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/43d46a3c-bee9-49e3-9de1-238a28131e0f","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9aaec3c0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/43d46a3c-bee9-49e3-9de1-238a28131e0f/signaling 200 14ms","method":"POST","requestID":"9aaec3c0-0636-11ef-8c83-05b823ec2e4f","responseTime":14,"status":200,"url":"/devices/43d46a3c-bee9-49e3-9de1-238a28131e0f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc6171b9f-2c24-4ced-a268-275d15f19518': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc6171b9f-2c24-4ced-a268-275d15f19518","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"15521d3c-74dc-4c77-ae9a-da69a1bc5c50","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401706.5108478} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7095319b-5ccb-4032-96c0-9336eecd0a3b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401706.5112598} authorization-1 | {"level":"info","message":"POST /relations/update 200 24ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4518efbde1507d43f46a5682a5daeb42"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":24}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3d1b333-bd70-44d2-abaf-f8a0591944a6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"77dcb0cd-bba9-46b2-bec8-746f991248cc","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401706.5152233} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:46Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.547205,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9ab15bd0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6/signaling 200 14ms","method":"POST","requestID":"9ab15bd0-0636-11ef-8c83-05b823ec2e4f","responseTime":14,"status":200,"url":"/devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/c6171b9f-2c24-4ced-a268-275d15f19518"} gateway-1 | {"time_local":"29/Apr/2024:14:41:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/c6171b9f-2c24-4ced-a268-275d15f19518 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.174","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4518efbde1507d43f46a5682a5daeb42"} gateway-1 | {"time_local":"29/Apr/2024:14:41:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2181","request_time":"3.366","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"4b320d5bf891215b6c2c1cb40155f52e"} experiment-1 | {"level":"info","message":"DELETE /experiments/c6171b9f-2c24-4ced-a268-275d15f19518 204 169ms","method":"DELETE","requestID":"4518efbde1507d43f46a5682a5daeb42","responseTime":169,"status":204,"url":"/experiments/c6171b9f-2c24-4ced-a268-275d15f19518"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 130ms","method":"POST","requestID":"94b16a0227bf1b14f75230e714c767b6","responseTime":130,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.133","http_referrer":"","http_user_agent":"node-fetch","requestID":"94b16a0227bf1b14f75230e714c767b6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 129ms","method":"POST","requestID":"b7eb257ce42b03e5ead3e21a8fabba47","responseTime":129,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.134","http_referrer":"","http_user_agent":"node-fetch","requestID":"b7eb257ce42b03e5ead3e21a8fabba47"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwNn0.UpbuK6UWaJnhMpb2EAUo8ecMkNLSUEUYX24SpV_0sQU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0642382da172cd12766e2a990a4e83ed","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"29/Apr/2024:14:41:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1939","request_time":"1.887","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e783bafe20449d078a0b4a1543512dfd"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:46Z"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/43d46a3c-bee9-49e3-9de1-238a28131e0f' closed"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.913915,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401706,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwNn0.UpbuK6UWaJnhMpb2EAUo8ecMkNLSUEUYX24SpV_0sQU"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0642382da172cd12766e2a990a4e83ed"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e3d1b333-bd70-44d2-abaf-f8a0591944a6' 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:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d326eaa-fa9f-484e-8917-591837a73ab5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9af20faf-dff0-49df-9241-6fa7929b1b9a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401706.6025262} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0642382da172cd12766e2a990a4e83ed"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"83bcd571-d964-45c1-8d2b-355c0fcd953f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401706.6129663} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0642382da172cd12766e2a990a4e83ed"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d326eaa-fa9f-484e-8917-591837a73ab5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"b363446b-de6b-481c-a1c1-888e6579abc7","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401706.6256018} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8504ef58-f1ca-4085-b48f-f9c8a773f2df","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401706.6257453} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0642382da172cd12766e2a990a4e83ed"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d326eaa-fa9f-484e-8917-591837a73ab5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d326eaa-fa9f-484e-8917-591837a73ab5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:46.625577740Z"}]},"request_id":"9f561a79-5026-4782-a783-20c0bf127515","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401706.6302075} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0642382da172cd12766e2a990a4e83ed"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.061","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0642382da172cd12766e2a990a4e83ed"} device-1 | {"level":"info","message":"POST /devices? 201 56ms","method":"POST","requestID":"0642382da172cd12766e2a990a4e83ed","responseTime":56,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwNn0.UpbuK6UWaJnhMpb2EAUo8ecMkNLSUEUYX24SpV_0sQU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"59ac86c32327515f537ce40bf9d585c8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:46Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.743195,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401706,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwNn0.UpbuK6UWaJnhMpb2EAUo8ecMkNLSUEUYX24SpV_0sQU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"59ac86c32327515f537ce40bf9d585c8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3acdfea-9c7d-4bac-80b3-0b4aec216e95","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"045b5e3c-0f74-41fa-b119-104da897f1ba","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401706.654246} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"59ac86c32327515f537ce40bf9d585c8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c8b7e169-99ad-4d7c-bc43-f5520d3db9ab","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401706.658912} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"59ac86c32327515f537ce40bf9d585c8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3acdfea-9c7d-4bac-80b3-0b4aec216e95","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"1c765b6e-c592-4aed-ae79-5d24d45667e5","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401706.667731} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2ca1f0fa-604c-4b2f-bf42-2338ae6c6b93","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401706.668} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"59ac86c32327515f537ce40bf9d585c8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3acdfea-9c7d-4bac-80b3-0b4aec216e95","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3acdfea-9c7d-4bac-80b3-0b4aec216e95","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:46.667705940Z"}]},"request_id":"1c5a22b5-1d91-44c8-b6c7-31bd7b5a0ebf","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401706.672403} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"59ac86c32327515f537ce40bf9d585c8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"59ac86c32327515f537ce40bf9d585c8"} device-1 | {"level":"info","message":"POST /devices? 201 36ms","method":"POST","requestID":"59ac86c32327515f537ce40bf9d585c8","responseTime":36,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwN30.zTpvYRb2AecQV2WIpUMNBBfx_aYed9Ut1boWOZl-bjA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"83fcb3293b1a48d7670cc0929c5de3b7","responseTime":7,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwN30.zTpvYRb2AecQV2WIpUMNBBfx_aYed9Ut1boWOZl-bjA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"cb48b3b276ab1190bdea0b4e7997cb94","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.689711,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401707,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwN30.zTpvYRb2AecQV2WIpUMNBBfx_aYed9Ut1boWOZl-bjA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"83fcb3293b1a48d7670cc0929c5de3b7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.757728,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d326eaa-fa9f-484e-8917-591837a73ab5","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/5d326eaa-fa9f-484e-8917-591837a73ab5","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401707,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwN30.zTpvYRb2AecQV2WIpUMNBBfx_aYed9Ut1boWOZl-bjA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cb48b3b276ab1190bdea0b4e7997cb94"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3acdfea-9c7d-4bac-80b3-0b4aec216e95","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3acdfea-9c7d-4bac-80b3-0b4aec216e95","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:46.667705940Z"}]},"request_id":"b3c31f77-e7c8-49c5-a95a-76b6c0d987a2","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401707.158484} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"83fcb3293b1a48d7670cc0929c5de3b7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d326eaa-fa9f-484e-8917-591837a73ab5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d326eaa-fa9f-484e-8917-591837a73ab5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:46.625577740Z"}]},"request_id":"e5aa399c-d536-4900-a364-7f6b43caec36","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401707.1598587} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cb48b3b276ab1190bdea0b4e7997cb94"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6b241fb4-2804-4316-83fe-a112c17bda50","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401707.164729} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"83fcb3293b1a48d7670cc0929c5de3b7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"22bc04f7-f224-4440-9b6d-f0bd4321ce05","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401707.169488} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cb48b3b276ab1190bdea0b4e7997cb94"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d326eaa-fa9f-484e-8917-591837a73ab5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d326eaa-fa9f-484e-8917-591837a73ab5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:46.625577740Z"}]},"request_id":"164c08ba-4860-4164-a670-0125c6e4213f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401707.172172} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cb48b3b276ab1190bdea0b4e7997cb94"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/5d326eaa-fa9f-484e-8917-591837a73ab5 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.040","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"cb48b3b276ab1190bdea0b4e7997cb94"} device-1 | {"level":"info","message":"PATCH /devices/5d326eaa-fa9f-484e-8917-591837a73ab5 200 30ms","method":"PATCH","requestID":"cb48b3b276ab1190bdea0b4e7997cb94","responseTime":30,"status":200,"url":"/devices/5d326eaa-fa9f-484e-8917-591837a73ab5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwN30.zTpvYRb2AecQV2WIpUMNBBfx_aYed9Ut1boWOZl-bjA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8dcb8b03fb1c381563e727b6a4c3675a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.124379,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d326eaa-fa9f-484e-8917-591837a73ab5","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/5d326eaa-fa9f-484e-8917-591837a73ab5","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401707,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwN30.zTpvYRb2AecQV2WIpUMNBBfx_aYed9Ut1boWOZl-bjA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8dcb8b03fb1c381563e727b6a4c3675a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3acdfea-9c7d-4bac-80b3-0b4aec216e95","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3acdfea-9c7d-4bac-80b3-0b4aec216e95","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:46.667705940Z"}]},"request_id":"495bb268-114d-4be9-bd3f-8da4ebd530e3","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401707.1931891} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"83fcb3293b1a48d7670cc0929c5de3b7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95 200 53ms","method":"PATCH","requestID":"83fcb3293b1a48d7670cc0929c5de3b7","responseTime":53,"status":200,"url":"/devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95"} gateway-1 | {"time_local":"29/Apr/2024:14:41:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.062","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"83fcb3293b1a48d7670cc0929c5de3b7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwN30.zTpvYRb2AecQV2WIpUMNBBfx_aYed9Ut1boWOZl-bjA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"be89e8857dd77508be4581337f2d2da5","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5d326eaa-fa9f-484e-8917-591837a73ab5/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.032","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"8dcb8b03fb1c381563e727b6a4c3675a"} device-1 | {"level":"info","message":"POST /devices/5d326eaa-fa9f-484e-8917-591837a73ab5/websocket 200 25ms","method":"POST","requestID":"8dcb8b03fb1c381563e727b6a4c3675a","responseTime":25,"status":200,"url":"/devices/5d326eaa-fa9f-484e-8917-591837a73ab5/websocket"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.815843,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401707,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwN30.zTpvYRb2AecQV2WIpUMNBBfx_aYed9Ut1boWOZl-bjA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"be89e8857dd77508be4581337f2d2da5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95/websocket 200 18ms","method":"POST","requestID":"be89e8857dd77508be4581337f2d2da5","responseTime":18,"status":200,"url":"/devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95/websocket"} gateway-1 | {"time_local":"29/Apr/2024:14:41:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.026","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"be89e8857dd77508be4581337f2d2da5"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5d326eaa-fa9f-484e-8917-591837a73ab5' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwN30.zTpvYRb2AecQV2WIpUMNBBfx_aYed9Ut1boWOZl-bjA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ab48c7c0ed49230072d1e5e35f6c2a58","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.290947,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d326eaa-fa9f-484e-8917-591837a73ab5","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/5d326eaa-fa9f-484e-8917-591837a73ab5","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401707,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwN30.zTpvYRb2AecQV2WIpUMNBBfx_aYed9Ut1boWOZl-bjA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ab48c7c0ed49230072d1e5e35f6c2a58"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d326eaa-fa9f-484e-8917-591837a73ab5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d326eaa-fa9f-484e-8917-591837a73ab5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:46.625577740Z"}]},"request_id":"474ed8b9-8c53-44a3-b90d-ed8017f00d1f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401707.256206} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ab48c7c0ed49230072d1e5e35f6c2a58"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5d326eaa-fa9f-484e-8917-591837a73ab5? 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":"ab48c7c0ed49230072d1e5e35f6c2a58"} device-1 | {"level":"info","message":"GET /devices/5d326eaa-fa9f-484e-8917-591837a73ab5? 200 13ms","method":"GET","requestID":"ab48c7c0ed49230072d1e5e35f6c2a58","responseTime":13,"status":200,"url":"/devices/5d326eaa-fa9f-484e-8917-591837a73ab5?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwN30.zTpvYRb2AecQV2WIpUMNBBfx_aYed9Ut1boWOZl-bjA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cc3fa170f88cee807177a68582a0ecc4","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.323132,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401707,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwN30.zTpvYRb2AecQV2WIpUMNBBfx_aYed9Ut1boWOZl-bjA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cc3fa170f88cee807177a68582a0ecc4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3acdfea-9c7d-4bac-80b3-0b4aec216e95","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3acdfea-9c7d-4bac-80b3-0b4aec216e95","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:46.667705940Z"}]},"request_id":"904e0a9d-cf45-47fe-9710-2f548d752827","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401707.2768257} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cc3fa170f88cee807177a68582a0ecc4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95? 200 17ms","method":"GET","requestID":"cc3fa170f88cee807177a68582a0ecc4","responseTime":17,"status":200,"url":"/devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95?"} gateway-1 | {"time_local":"29/Apr/2024:14:41:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cc3fa170f88cee807177a68582a0ecc4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwN30.zTpvYRb2AecQV2WIpUMNBBfx_aYed9Ut1boWOZl-bjA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7ca8dc561ec3520b4d0b47e8630d29a8","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.046774,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401707,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwN30.zTpvYRb2AecQV2WIpUMNBBfx_aYed9Ut1boWOZl-bjA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7ca8dc561ec3520b4d0b47e8630d29a8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/889123cc-c6fd-4e9e-b1bc-c17dbe36cba3"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/889123cc-c6fd-4e9e-b1bc-c17dbe36cba3"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/889123cc-c6fd-4e9e-b1bc-c17dbe36cba3"},"level":"info","message":"Successfully booked experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.300838,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d326eaa-fa9f-484e-8917-591837a73ab5","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/5d326eaa-fa9f-484e-8917-591837a73ab5","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401707,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwN30.zTpvYRb2AecQV2WIpUMNBBfx_aYed9Ut1boWOZl-bjA"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b318850-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.297816,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401707,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwN30.zTpvYRb2AecQV2WIpUMNBBfx_aYed9Ut1boWOZl-bjA"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b31d670-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d326eaa-fa9f-484e-8917-591837a73ab5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d326eaa-fa9f-484e-8917-591837a73ab5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:46.625577740Z"}]},"request_id":"432e8afd-5517-4be6-b6b1-392468405f03","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401707.3630886} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b318850-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3acdfea-9c7d-4bac-80b3-0b4aec216e95","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3acdfea-9c7d-4bac-80b3-0b4aec216e95","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:46.667705940Z"}]},"request_id":"0425c573-ad39-4aaa-9598-a519dec00549","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401707.3651056} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b31d670-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/5d326eaa-fa9f-484e-8917-591837a73ab5? 200 25ms","method":"GET","requestID":"9b318850-0636-11ef-8c83-05b823ec2e4f","responseTime":25,"status":200,"url":"/devices/5d326eaa-fa9f-484e-8917-591837a73ab5?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95? 200 24ms","method":"GET","requestID":"9b31d670-0636-11ef-8c83-05b823ec2e4f","responseTime":24,"status":200,"url":"/devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/889123cc-c6fd-4e9e-b1bc-c17dbe36cba3"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/889123cc-c6fd-4e9e-b1bc-c17dbe36cba3"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/889123cc-c6fd-4e9e-b1bc-c17dbe36cba3"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/889123cc-c6fd-4e9e-b1bc-c17dbe36cba3"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/889123cc-c6fd-4e9e-b1bc-c17dbe36cba3"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/889123cc-c6fd-4e9e-b1bc-c17dbe36cba3"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/889123cc-c6fd-4e9e-b1bc-c17dbe36cba3"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/889123cc-c6fd-4e9e-b1bc-c17dbe36cba3"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/889123cc-c6fd-4e9e-b1bc-c17dbe36cba3"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.237156,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d326eaa-fa9f-484e-8917-591837a73ab5","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/5d326eaa-fa9f-484e-8917-591837a73ab5","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401707,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwN30.zTpvYRb2AecQV2WIpUMNBBfx_aYed9Ut1boWOZl-bjA"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b3ecec0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.800204,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401707,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwN30.zTpvYRb2AecQV2WIpUMNBBfx_aYed9Ut1boWOZl-bjA"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b3ef5d0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d326eaa-fa9f-484e-8917-591837a73ab5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dd758e47-b203-4217-8298-f1bf583206bc","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401707.4493752} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.040525,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d326eaa-fa9f-484e-8917-591837a73ab5","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5d326eaa-fa9f-484e-8917-591837a73ab5","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b3f6b00-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d326eaa-fa9f-484e-8917-591837a73ab5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d326eaa-fa9f-484e-8917-591837a73ab5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:46.625577740Z"}]},"request_id":"8202e6b9-da3e-4bd4-85d9-ecfb61dbefeb","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401707.452595} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b3ecec0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3acdfea-9c7d-4bac-80b3-0b4aec216e95","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3acdfea-9c7d-4bac-80b3-0b4aec216e95","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:46.667705940Z"}]},"request_id":"01873ab4-770a-43c7-984e-fa320890a0a6","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401707.4566603} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b3ef5d0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/5d326eaa-fa9f-484e-8917-591837a73ab5/signaling 200 20ms","method":"POST","requestID":"9b3f6b00-0636-11ef-8c83-05b823ec2e4f","responseTime":20,"status":200,"url":"/devices/5d326eaa-fa9f-484e-8917-591837a73ab5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/5d326eaa-fa9f-484e-8917-591837a73ab5? 200 30ms","method":"GET","requestID":"9b3ecec0-0636-11ef-8c83-05b823ec2e4f","responseTime":30,"status":200,"url":"/devices/5d326eaa-fa9f-484e-8917-591837a73ab5?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F889123cc-c6fd-4e9e-b1bc-c17dbe36cba3#owner@http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F889123cc-c6fd-4e9e-b1bc-c17dbe36cba3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"688a1c32-1792-4c52-b257-a6f3e50dbd71","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401707.4656072} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"60280730-2857-48c3-a408-9bc6a46d6969","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401707.4658248} device-1 | {"level":"info","message":"GET /devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95? 200 30ms","method":"GET","requestID":"9b3ef5d0-0636-11ef-8c83-05b823ec2e4f","responseTime":30,"status":200,"url":"/devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95?"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 24ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7ca8dc561ec3520b4d0b47e8630d29a8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":24}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.394352,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3acdfea-9c7d-4bac-80b3-0b4aec216e95","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a92f21f2-0e4e-46cb-8d2e-c0bb8ef42534","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401707.4691987} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b42c660-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d326eaa-fa9f-484e-8917-591837a73ab5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"98c0ba55-536f-4134-a187-0c4a5abbdf02","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401707.4786665} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95/signaling 200 18ms","method":"POST","requestID":"9b42c660-0636-11ef-8c83-05b823ec2e4f","responseTime":18,"status":200,"url":"/devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95/signaling"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.161415,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d326eaa-fa9f-484e-8917-591837a73ab5","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5d326eaa-fa9f-484e-8917-591837a73ab5","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b4425f0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/889123cc-c6fd-4e9e-b1bc-c17dbe36cba3","user":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment-1 | {"level":"info","message":"POST /experiments? 201 193ms","method":"POST","requestID":"7ca8dc561ec3520b4d0b47e8630d29a8","responseTime":193,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"29/Apr/2024:14:41:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"785","request_time":"0.199","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7ca8dc561ec3520b4d0b47e8630d29a8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/5d326eaa-fa9f-484e-8917-591837a73ab5/signaling 200 15ms","method":"POST","requestID":"9b4425f0-0636-11ef-8c83-05b823ec2e4f","responseTime":15,"status":200,"url":"/devices/5d326eaa-fa9f-484e-8917-591837a73ab5/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwN30.zTpvYRb2AecQV2WIpUMNBBfx_aYed9Ut1boWOZl-bjA","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b29c20ecbe4811573575f602c1591e9f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3acdfea-9c7d-4bac-80b3-0b4aec216e95","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"644cbf69-adff-46b6-9d28-2ce060e59a72","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401707.495345} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.184,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b46e510-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.577806,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d326eaa-fa9f-484e-8917-591837a73ab5","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/5d326eaa-fa9f-484e-8917-591837a73ab5","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401707,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwN30.zTpvYRb2AecQV2WIpUMNBBfx_aYed9Ut1boWOZl-bjA"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b29c20ecbe4811573575f602c1591e9f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95/signaling 200 17ms","method":"POST","requestID":"9b46e510-0636-11ef-8c83-05b823ec2e4f","responseTime":17,"status":200,"url":"/devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95/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:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d326eaa-fa9f-484e-8917-591837a73ab5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d326eaa-fa9f-484e-8917-591837a73ab5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:46.625577740Z"}]},"request_id":"2536f630-ae4d-495b-8671-47bb77bb943c","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401707.50581} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b29c20ecbe4811573575f602c1591e9f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/889123cc-c6fd-4e9e-b1bc-c17dbe36cba3"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/889123cc-c6fd-4e9e-b1bc-c17dbe36cba3"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"2df556ae-df4c-4294-a99a-e4189f698fab"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"550712c2-277a-4b7b-b278-4ff776c1a920"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"6d8454b0-8597-4d65-8424-5a0482529d89"}]},"level":"info","message":"Built pairwise service configurations"} 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/e3acdfea-9c7d-4bac-80b3-0b4aec216e95"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/5d326eaa-fa9f-484e-8917-591837a73ab5"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:47Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5d326eaa-fa9f-484e-8917-591837a73ab5? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b29c20ecbe4811573575f602c1591e9f"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.874188,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:47Z"} device-1 | {"level":"info","message":"GET /devices/5d326eaa-fa9f-484e-8917-591837a73ab5? 200 22ms","method":"GET","requestID":"b29c20ecbe4811573575f602c1591e9f","responseTime":22,"status":200,"url":"/devices/5d326eaa-fa9f-484e-8917-591837a73ab5?"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401707,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwN30.zTpvYRb2AecQV2WIpUMNBBfx_aYed9Ut1boWOZl-bjA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b4a1960-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwN30.zTpvYRb2AecQV2WIpUMNBBfx_aYed9Ut1boWOZl-bjA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a31e0d39f952923eb47bc23beb76467d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.696636,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401707,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwN30.zTpvYRb2AecQV2WIpUMNBBfx_aYed9Ut1boWOZl-bjA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a31e0d39f952923eb47bc23beb76467d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","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%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"813a76c9-d46e-4eba-8a9c-b1d359dd9ea1","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401707.525202} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3825e19e-e532-4622-ac2c-2cf51ff940c4","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401707.525375} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b4a1960-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3acdfea-9c7d-4bac-80b3-0b4aec216e95","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3acdfea-9c7d-4bac-80b3-0b4aec216e95","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:46.667705940Z"}]},"request_id":"94e080d8-0443-401d-a994-2bdd114398ab","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401707.5302558} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a31e0d39f952923eb47bc23beb76467d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/6834e5aa-6eb9-4fd7-bd64-bc1d412d9252'"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95? 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":"a31e0d39f952923eb47bc23beb76467d"} device-1 | {"level":"info","message":"GET /devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95? 200 35ms","method":"GET","requestID":"a31e0d39f952923eb47bc23beb76467d","responseTime":35,"status":200,"url":"/devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95?"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/6834e5aa-6eb9-4fd7-bd64-bc1d412d9252'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 47ms","method":"POST","requestID":"9b4a1960-0636-11ef-8c83-05b823ec2e4f","responseTime":47,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device-1 | {"data":{"peerconnection":"6834e5aa-6eb9-4fd7-bd64-bc1d412d9252","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"6834e5aa-6eb9-4fd7-bd64-bc1d412d9252","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/6834e5aa-6eb9-4fd7-bd64-bc1d412d9252' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6834e5aa-6eb9-4fd7-bd64-bc1d412d9252","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/889123cc-c6fd-4e9e-b1bc-c17dbe36cba3"},"level":"info","message":"Successfully created peerconnections for experiment"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a85df406f2def8ed2dff19dbdaf1c1ce","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} 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/e3acdfea-9c7d-4bac-80b3-0b4aec216e95"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/5d326eaa-fa9f-484e-8917-591837a73ab5"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/6834e5aa-6eb9-4fd7-bd64-bc1d412d9252"}}},"level":"info","message":"received a callback"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d326eaa-fa9f-484e-8917-591837a73ab5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f76e5f1b-e618-4538-bc03-8ef3a92974b0","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401707.598502} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.681076,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d326eaa-fa9f-484e-8917-591837a73ab5","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5d326eaa-fa9f-484e-8917-591837a73ab5","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b56c390-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 10ms","method":"POST","requestID":"a85df406f2def8ed2dff19dbdaf1c1ce","responseTime":10,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.014","http_referrer":"","http_user_agent":"node-fetch","requestID":"a85df406f2def8ed2dff19dbdaf1c1ce"} device-1 | {"data":{"peerconnection":"6834e5aa-6eb9-4fd7-bd64-bc1d412d9252","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/5d326eaa-fa9f-484e-8917-591837a73ab5/signaling 200 15ms","method":"POST","requestID":"9b56c390-0636-11ef-8c83-05b823ec2e4f","responseTime":15,"status":200,"url":"/devices/5d326eaa-fa9f-484e-8917-591837a73ab5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3acdfea-9c7d-4bac-80b3-0b4aec216e95","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2fdced3a-fbd8-4c60-8f13-64d1414606fb","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401707.6162617} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.43446,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b59a9c0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95/signaling 200 9ms","method":"POST","requestID":"9b59a9c0-0636-11ef-8c83-05b823ec2e4f","responseTime":9,"status":200,"url":"/devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95/signaling"} device-1 | {"data":{"peerconnection":"6834e5aa-6eb9-4fd7-bd64-bc1d412d9252","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/6834e5aa-6eb9-4fd7-bd64-bc1d412d9252' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6834e5aa-6eb9-4fd7-bd64-bc1d412d9252","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"e40c4281720fabc8a0ebf42841115fed","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":"connected","url":"http://localhost/devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/5d326eaa-fa9f-484e-8917-591837a73ab5"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/6834e5aa-6eb9-4fd7-bd64-bc1d412d9252"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6834e5aa-6eb9-4fd7-bd64-bc1d412d9252","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"681177db-b260-46cc-9d57-ba5a1ea8182e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401707.6482096} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.40934,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6834e5aa-6eb9-4fd7-bd64-bc1d412d9252","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/6834e5aa-6eb9-4fd7-bd64-bc1d412d9252","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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b5e64b0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/6834e5aa-6eb9-4fd7-bd64-bc1d412d9252 200 10ms","method":"GET","requestID":"9b5e64b0-0636-11ef-8c83-05b823ec2e4f","responseTime":10,"status":200,"url":"/peerconnections/6834e5aa-6eb9-4fd7-bd64-bc1d412d9252"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 33ms","method":"POST","requestID":"e40c4281720fabc8a0ebf42841115fed","responseTime":33,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.035","http_referrer":"","http_user_agent":"node-fetch","requestID":"e40c4281720fabc8a0ebf42841115fed"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3acdfea-9c7d-4bac-80b3-0b4aec216e95","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"87f77885-16dc-4b89-9852-fec986ac533b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401707.6767054} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.407968,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b62d180-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95/signaling 200 10ms","method":"POST","requestID":"9b62d180-0636-11ef-8c83-05b823ec2e4f","responseTime":10,"status":200,"url":"/devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d326eaa-fa9f-484e-8917-591837a73ab5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"20132135-6cbe-42c2-874b-f4491974f892","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401707.6918643} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.641223,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d326eaa-fa9f-484e-8917-591837a73ab5","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5d326eaa-fa9f-484e-8917-591837a73ab5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b64f460-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/5d326eaa-fa9f-484e-8917-591837a73ab5/signaling 200 12ms","method":"POST","requestID":"9b64f460-0636-11ef-8c83-05b823ec2e4f","responseTime":12,"status":200,"url":"/devices/5d326eaa-fa9f-484e-8917-591837a73ab5/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwN30.zTpvYRb2AecQV2WIpUMNBBfx_aYed9Ut1boWOZl-bjA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d40daf0bbce8aa2e00025ce9c62b333e","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/889123cc-c6fd-4e9e-b1bc-c17dbe36cba3"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.388705,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/889123cc-c6fd-4e9e-b1bc-c17dbe36cba3","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/889123cc-c6fd-4e9e-b1bc-c17dbe36cba3","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401707,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwN30.zTpvYRb2AecQV2WIpUMNBBfx_aYed9Ut1boWOZl-bjA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d40daf0bbce8aa2e00025ce9c62b333e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/889123cc-c6fd-4e9e-b1bc-c17dbe36cba3"} gateway-1 | {"time_local":"29/Apr/2024:14:41:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/889123cc-c6fd-4e9e-b1bc-c17dbe36cba3 HTTP/1.1","status": "200","body_bytes_sent":"858","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d40daf0bbce8aa2e00025ce9c62b333e"} experiment-1 | {"level":"info","message":"GET /experiments/889123cc-c6fd-4e9e-b1bc-c17dbe36cba3 200 16ms","method":"GET","requestID":"d40daf0bbce8aa2e00025ce9c62b333e","responseTime":16,"status":200,"url":"/experiments/889123cc-c6fd-4e9e-b1bc-c17dbe36cba3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwN30.zTpvYRb2AecQV2WIpUMNBBfx_aYed9Ut1boWOZl-bjA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"754439c266e3cfceec2ca188f80441ae","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/889123cc-c6fd-4e9e-b1bc-c17dbe36cba3"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.361525,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/889123cc-c6fd-4e9e-b1bc-c17dbe36cba3","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/889123cc-c6fd-4e9e-b1bc-c17dbe36cba3","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401707,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwN30.zTpvYRb2AecQV2WIpUMNBBfx_aYed9Ut1boWOZl-bjA"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"754439c266e3cfceec2ca188f80441ae"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/889123cc-c6fd-4e9e-b1bc-c17dbe36cba3"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.275215,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6834e5aa-6eb9-4fd7-bd64-bc1d412d9252","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:http://localhost/peerconnections/6834e5aa-6eb9-4fd7-bd64-bc1d412d9252","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401707,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwN30.zTpvYRb2AecQV2WIpUMNBBfx_aYed9Ut1boWOZl-bjA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b824060-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/6834e5aa-6eb9-4fd7-bd64-bc1d412d9252' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/6834e5aa-6eb9-4fd7-bd64-bc1d412d9252' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6834e5aa-6eb9-4fd7-bd64-bc1d412d9252","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"bf6c6283971b9d62209c897c28f53629","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/e3acdfea-9c7d-4bac-80b3-0b4aec216e95"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/5d326eaa-fa9f-484e-8917-591837a73ab5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6834e5aa-6eb9-4fd7-bd64-bc1d412d9252"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5d7f39d39b41b6a5bb1a26dc7f2cc992","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/5d326eaa-fa9f-484e-8917-591837a73ab5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6834e5aa-6eb9-4fd7-bd64-bc1d412d9252"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6834e5aa-6eb9-4fd7-bd64-bc1d412d9252': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6834e5aa-6eb9-4fd7-bd64-bc1d412d9252","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"2eeea956-b91f-44a4-b18b-0772996f7b77","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401707.9036584} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4daed0d0-efad-4032-9e27-cac1d9240c09","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401707.9039657} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b824060-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} device-1 | {"data":{"peerconnection":"6834e5aa-6eb9-4fd7-bd64-bc1d412d9252","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/6834e5aa-6eb9-4fd7-bd64-bc1d412d9252 204 54ms","method":"DELETE","requestID":"9b824060-0636-11ef-8c83-05b823ec2e4f","responseTime":54,"status":204,"url":"/peerconnections/6834e5aa-6eb9-4fd7-bd64-bc1d412d9252"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/889123cc-c6fd-4e9e-b1bc-c17dbe36cba3"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3acdfea-9c7d-4bac-80b3-0b4aec216e95","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2e6e0a1f-4919-4786-9ca0-216571524307","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401707.9632647} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.252919,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b8e2740-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95/signaling 200 15ms","method":"POST","requestID":"9b8e2740-0636-11ef-8c83-05b823ec2e4f","responseTime":15,"status":200,"url":"/devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95/signaling"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F889123cc-c6fd-4e9e-b1bc-c17dbe36cba3': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F889123cc-c6fd-4e9e-b1bc-c17dbe36cba3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"e8b29d6e-5fc3-43d8-aef9-c263c35db27a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401707.9744897} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1976a513-a250-4f3a-99aa-5778e80e55e1","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401707.9750533} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"754439c266e3cfceec2ca188f80441ae"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d326eaa-fa9f-484e-8917-591837a73ab5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"64e736e3-c8de-4371-995e-d3fec14e86ec","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401707.983046} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.290676,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d326eaa-fa9f-484e-8917-591837a73ab5","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5d326eaa-fa9f-484e-8917-591837a73ab5","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b910d70-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/5d326eaa-fa9f-484e-8917-591837a73ab5/signaling 200 14ms","method":"POST","requestID":"9b910d70-0636-11ef-8c83-05b823ec2e4f","responseTime":14,"status":200,"url":"/devices/5d326eaa-fa9f-484e-8917-591837a73ab5/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/889123cc-c6fd-4e9e-b1bc-c17dbe36cba3"} gateway-1 | {"time_local":"29/Apr/2024:14:41:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/889123cc-c6fd-4e9e-b1bc-c17dbe36cba3 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.188","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"754439c266e3cfceec2ca188f80441ae"} experiment-1 | {"level":"info","message":"DELETE /experiments/889123cc-c6fd-4e9e-b1bc-c17dbe36cba3 204 183ms","method":"DELETE","requestID":"754439c266e3cfceec2ca188f80441ae","responseTime":183,"status":204,"url":"/experiments/889123cc-c6fd-4e9e-b1bc-c17dbe36cba3"} gateway-1 | {"time_local":"29/Apr/2024:14:41:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1944","request_time":"0.834","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"7dac3dc80c0e9ac92c28cef29e20188e"} gateway-1 | {"time_local":"29/Apr/2024:14:41:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1944","request_time":"0.818","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"f1c0f9b99d24d33149e3fc792e573c05"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 145ms","method":"POST","requestID":"bf6c6283971b9d62209c897c28f53629","responseTime":145,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.149","http_referrer":"","http_user_agent":"node-fetch","requestID":"bf6c6283971b9d62209c897c28f53629"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 145ms","method":"POST","requestID":"5d7f39d39b41b6a5bb1a26dc7f2cc992","responseTime":145,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.150","http_referrer":"","http_user_agent":"node-fetch","requestID":"5d7f39d39b41b6a5bb1a26dc7f2cc992"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwOH0.yR4ETY8cw8phZcP9ljjbm-ZusDdW4IdAAZgRTKeJj9I","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cbb9ea45416ba4bc4eeab40024837979","responseTime":4,"status":200,"url":"/auth"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e3acdfea-9c7d-4bac-80b3-0b4aec216e95' closed"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:48Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.803605,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401708,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwOH0.yR4ETY8cw8phZcP9ljjbm-ZusDdW4IdAAZgRTKeJj9I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cbb9ea45416ba4bc4eeab40024837979"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/5d326eaa-fa9f-484e-8917-591837a73ab5' 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:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ab88e09-352d-4a84-92c9-79302cfd7ee7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e06a43fd-7355-4fc5-9702-20aab4b0d818","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401708.075817} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cbb9ea45416ba4bc4eeab40024837979"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c5df81c4-830d-42e9-a14d-3e0b2336a90d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401708.081651} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cbb9ea45416ba4bc4eeab40024837979"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ab88e09-352d-4a84-92c9-79302cfd7ee7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"650ff635-c24f-42dc-a5db-e4d58d173d79","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401708.0916708} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7c74f58a-c6d0-43c0-819e-65fe3e06bff0","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401708.0918128} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cbb9ea45416ba4bc4eeab40024837979"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ab88e09-352d-4a84-92c9-79302cfd7ee7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ab88e09-352d-4a84-92c9-79302cfd7ee7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:48.091650464Z"}]},"request_id":"e26645f3-d0c8-4dcb-9c22-e19e637a6151","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401708.0971625} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cbb9ea45416ba4bc4eeab40024837979"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cbb9ea45416ba4bc4eeab40024837979"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"cbb9ea45416ba4bc4eeab40024837979","responseTime":46,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwOH0.yR4ETY8cw8phZcP9ljjbm-ZusDdW4IdAAZgRTKeJj9I","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5ab2c1b638e9dd000d8a5d27067eb708","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:48Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.977926,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401708,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcwOH0.yR4ETY8cw8phZcP9ljjbm-ZusDdW4IdAAZgRTKeJj9I"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5ab2c1b638e9dd000d8a5d27067eb708"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1ab7857-084e-40c0-b506-c56b4c2d74b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"fffeb470-3af7-4d04-b23c-9140007c2307","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401708.1246824} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5ab2c1b638e9dd000d8a5d27067eb708"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e0438ce2-cbd9-4ef6-8b75-b52b75a21260","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401708.1305642} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5ab2c1b638e9dd000d8a5d27067eb708"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1ab7857-084e-40c0-b506-c56b4c2d74b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"290addc5-7cac-4eee-9c2c-1e104a34583d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401708.1448169} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9253abf6-846f-4afd-bc21-1f073310ac61","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401708.1449528} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5ab2c1b638e9dd000d8a5d27067eb708"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1ab7857-084e-40c0-b506-c56b4c2d74b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1ab7857-084e-40c0-b506-c56b4c2d74b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:48.144791815Z"}]},"request_id":"ca6f9d4a-07af-4336-a8c4-ef529a60e88b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401708.1510155} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5ab2c1b638e9dd000d8a5d27067eb708"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"5ab2c1b638e9dd000d8a5d27067eb708","responseTime":47,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2024:14:41:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5ab2c1b638e9dd000d8a5d27067eb708"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3566b91a5223ea6dd6fb260f7d34ecc0","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"29/Apr/2024:14:41:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7/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":"3566b91a5223ea6dd6fb260f7d34ecc0"} device-1 | {"level":"info","message":"OPTIONS /devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7/websocket 200 1ms","method":"OPTIONS","requestID":"3566b91a5223ea6dd6fb260f7d34ecc0","responseTime":1,"status":200,"url":"/devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7/websocket"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ae7a78799c8c66bbd169cab75c0f5cf8","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2024:14:41:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1/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":"ae7a78799c8c66bbd169cab75c0f5cf8"} device-1 | {"level":"info","message":"OPTIONS /devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1/websocket 200 1ms","method":"OPTIONS","requestID":"ae7a78799c8c66bbd169cab75c0f5cf8","responseTime":1,"status":200,"url":"/devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxMH0.cETwXQxSWkjI7gHSWE1Vaa-gkhsHkvmSs2_Yik3ACVo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"fbbf2b1ea86d2646a1267ce29a1442e6","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxMH0.cETwXQxSWkjI7gHSWE1Vaa-gkhsHkvmSs2_Yik3ACVo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"40adaaea4b63e1aa04554666e4b6e280","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.308595,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401710,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxMH0.cETwXQxSWkjI7gHSWE1Vaa-gkhsHkvmSs2_Yik3ACVo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fbbf2b1ea86d2646a1267ce29a1442e6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.337746,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401710,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxMH0.cETwXQxSWkjI7gHSWE1Vaa-gkhsHkvmSs2_Yik3ACVo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"40adaaea4b63e1aa04554666e4b6e280"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1/websocket 200 13ms","method":"POST","requestID":"40adaaea4b63e1aa04554666e4b6e280","responseTime":13,"status":200,"url":"/devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1/websocket"} gateway-1 | {"time_local":"29/Apr/2024:14:41:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.022","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"40adaaea4b63e1aa04554666e4b6e280"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.052","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"fbbf2b1ea86d2646a1267ce29a1442e6"} device-1 | {"level":"info","message":"POST /devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7/websocket 200 43ms","method":"POST","requestID":"fbbf2b1ea86d2646a1267ce29a1442e6","responseTime":43,"status":200,"url":"/devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxMH0.cETwXQxSWkjI7gHSWE1Vaa-gkhsHkvmSs2_Yik3ACVo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"6b2188f3d68aac356a7e775b45b46270","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.142892,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401710,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxMH0.cETwXQxSWkjI7gHSWE1Vaa-gkhsHkvmSs2_Yik3ACVo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6b2188f3d68aac356a7e775b45b46270"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ab88e09-352d-4a84-92c9-79302cfd7ee7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ab88e09-352d-4a84-92c9-79302cfd7ee7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:48.091650464Z"}]},"request_id":"8aa0f07b-c8cd-4e00-807a-224104ac81f6","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401710.2002547} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6b2188f3d68aac356a7e775b45b46270"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7? 200 18ms","method":"GET","requestID":"6b2188f3d68aac356a7e775b45b46270","responseTime":18,"status":200,"url":"/devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7?"} gateway-1 | {"time_local":"29/Apr/2024:14:41:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6b2188f3d68aac356a7e775b45b46270"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxMH0.cETwXQxSWkjI7gHSWE1Vaa-gkhsHkvmSs2_Yik3ACVo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"83dded4529aec1739c4b30fcfe9d1dbf","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.248573,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401710,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxMH0.cETwXQxSWkjI7gHSWE1Vaa-gkhsHkvmSs2_Yik3ACVo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"83dded4529aec1739c4b30fcfe9d1dbf"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1ab7857-084e-40c0-b506-c56b4c2d74b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1ab7857-084e-40c0-b506-c56b4c2d74b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:48.144791815Z"}]},"request_id":"9b49da13-e56c-4084-99cb-c462494ab089","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401710.2276692} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"83dded4529aec1739c4b30fcfe9d1dbf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1? 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":"83dded4529aec1739c4b30fcfe9d1dbf"} device-1 | {"level":"info","message":"GET /devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1? 200 18ms","method":"GET","requestID":"83dded4529aec1739c4b30fcfe9d1dbf","responseTime":18,"status":200,"url":"/devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxMH0.cETwXQxSWkjI7gHSWE1Vaa-gkhsHkvmSs2_Yik3ACVo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c9b69ee382d3d3193453ef19af31a707","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.17926,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401710,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxMH0.cETwXQxSWkjI7gHSWE1Vaa-gkhsHkvmSs2_Yik3ACVo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c9b69ee382d3d3193453ef19af31a707"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1dd30c67-1bf9-494d-bc5b-41691f6bb307"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1dd30c67-1bf9-494d-bc5b-41691f6bb307"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1dd30c67-1bf9-494d-bc5b-41691f6bb307"},"level":"info","message":"Successfully booked experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.106386,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401710,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxMH0.cETwXQxSWkjI7gHSWE1Vaa-gkhsHkvmSs2_Yik3ACVo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9cf46e00-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.067632,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401710,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxMH0.cETwXQxSWkjI7gHSWE1Vaa-gkhsHkvmSs2_Yik3ACVo"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9cf4bc20-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ab88e09-352d-4a84-92c9-79302cfd7ee7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ab88e09-352d-4a84-92c9-79302cfd7ee7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:48.091650464Z"}]},"request_id":"801b402d-353d-4b96-9742-a0160a606667","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401710.3177154} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9cf46e00-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1ab7857-084e-40c0-b506-c56b4c2d74b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1ab7857-084e-40c0-b506-c56b4c2d74b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:48.144791815Z"}]},"request_id":"fd3f239a-4d7d-4eb2-a6d5-e1689fe965f4","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401710.3193078} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9cf4bc20-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7? 200 23ms","method":"GET","requestID":"9cf46e00-0636-11ef-8c83-05b823ec2e4f","responseTime":23,"status":200,"url":"/devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1? 200 23ms","method":"GET","requestID":"9cf4bc20-0636-11ef-8c83-05b823ec2e4f","responseTime":23,"status":200,"url":"/devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1dd30c67-1bf9-494d-bc5b-41691f6bb307"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1dd30c67-1bf9-494d-bc5b-41691f6bb307"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1dd30c67-1bf9-494d-bc5b-41691f6bb307"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1dd30c67-1bf9-494d-bc5b-41691f6bb307"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1dd30c67-1bf9-494d-bc5b-41691f6bb307"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1dd30c67-1bf9-494d-bc5b-41691f6bb307"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1dd30c67-1bf9-494d-bc5b-41691f6bb307"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1dd30c67-1bf9-494d-bc5b-41691f6bb307"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.342858,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:50Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1dd30c67-1bf9-494d-bc5b-41691f6bb307"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401710,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxMH0.cETwXQxSWkjI7gHSWE1Vaa-gkhsHkvmSs2_Yik3ACVo"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9d00a300-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.768599,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401710,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxMH0.cETwXQxSWkjI7gHSWE1Vaa-gkhsHkvmSs2_Yik3ACVo"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9d00f120-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"client_addr":"127.0.0.1:40488","level":"info","msg":"Received request.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ab88e09-352d-4a84-92c9-79302cfd7ee7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ab88e09-352d-4a84-92c9-79302cfd7ee7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:48.091650464Z"}]},"request_id":"c18acd61-fa3a-4da8-9171-5040cb946f1c","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401710.4067125} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9d00a300-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1ab7857-084e-40c0-b506-c56b4c2d74b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1ab7857-084e-40c0-b506-c56b4c2d74b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:48.144791815Z"}]},"request_id":"5a299c97-b06f-4009-b032-9ca18d4b88f8","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401710.4100645} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ab88e09-352d-4a84-92c9-79302cfd7ee7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a61757d9-6070-4d82-9c2d-e4ef7a3fb4d0","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401710.4106934} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9d00f120-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:40488","level":"info","msg":"Sent response.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.641097,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 22ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9d013f40-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":22}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1dd30c67-1bf9-494d-bc5b-41691f6bb307#owner@http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1dd30c67-1bf9-494d-bc5b-41691f6bb307","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"5aead6e8-5add-4551-9e1b-fe67300e213c","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401710.4171257} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8a18a9ca-f57e-4f5d-b1c0-f34b6b39c113","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401710.4176424} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c9b69ee382d3d3193453ef19af31a707"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7? 200 38ms","method":"GET","requestID":"9d00a300-0636-11ef-8c83-05b823ec2e4f","responseTime":38,"status":200,"url":"/devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1? 200 37ms","method":"GET","requestID":"9d00f120-0636-11ef-8c83-05b823ec2e4f","responseTime":37,"status":200,"url":"/devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7/signaling 200 36ms","method":"POST","requestID":"9d013f40-0636-11ef-8c83-05b823ec2e4f","responseTime":36,"status":200,"url":"/devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:50Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/1dd30c67-1bf9-494d-bc5b-41691f6bb307","user":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"29/Apr/2024:14:41:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.199","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c9b69ee382d3d3193453ef19af31a707"} experiment-1 | {"level":"info","message":"POST /experiments? 201 192ms","method":"POST","requestID":"c9b69ee382d3d3193453ef19af31a707","responseTime":192,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ab88e09-352d-4a84-92c9-79302cfd7ee7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"96627aba-87d9-4504-b318-6f8a06350586","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401710.4343624} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.600928,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9d0759c0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1ab7857-084e-40c0-b506-c56b4c2d74b1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"46ee3ec6-362e-48a4-8ad7-9362e312b5d1","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401710.438374} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxMH0.cETwXQxSWkjI7gHSWE1Vaa-gkhsHkvmSs2_Yik3ACVo","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.485994,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:50Z"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"85f704f6eab9ea4d88ad93aa0439bd94","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1","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"} device-1 | {"level":"info","message":"POST /devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7/signaling 200 14ms","method":"POST","requestID":"9d0759c0-0636-11ef-8c83-05b823ec2e4f","responseTime":14,"status":200,"url":"/devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9d07f600-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:50Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.06482,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401710,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxMH0.cETwXQxSWkjI7gHSWE1Vaa-gkhsHkvmSs2_Yik3ACVo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"85f704f6eab9ea4d88ad93aa0439bd94"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:50Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1/signaling 200 19ms","method":"POST","requestID":"9d07f600-0636-11ef-8c83-05b823ec2e4f","responseTime":19,"status":200,"url":"/devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1/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:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ab88e09-352d-4a84-92c9-79302cfd7ee7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ab88e09-352d-4a84-92c9-79302cfd7ee7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:48.091650464Z"}]},"request_id":"9aaa10c5-4323-41c3-93b7-c3e91c554401","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401710.45303} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1ab7857-084e-40c0-b506-c56b4c2d74b1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ce2f7742-4050-429a-8c51-9e6ec9272d26","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401710.453072} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"85f704f6eab9ea4d88ad93aa0439bd94"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.732158,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9d0a18e0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"85f704f6eab9ea4d88ad93aa0439bd94"} device-1 | {"level":"info","message":"GET /devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7? 200 17ms","method":"GET","requestID":"85f704f6eab9ea4d88ad93aa0439bd94","responseTime":17,"status":200,"url":"/devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1/signaling 200 15ms","method":"POST","requestID":"9d0a18e0-0636-11ef-8c83-05b823ec2e4f","responseTime":15,"status":200,"url":"/devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1dd30c67-1bf9-494d-bc5b-41691f6bb307"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1dd30c67-1bf9-494d-bc5b-41691f6bb307"},"level":"info","message":"Building connection plan"} 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":"9a23099e-a3e4-40bf-9b4e-9ebce747f91d"},{"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":"c1de3e37-112d-415f-ab28-1c42127893f1"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"d6bc8b0a-b3bc-4eca-aad5-a17d075ecf52"}]},"level":"info","message":"Built pairwise service configurations"} 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/d1ab7857-084e-40c0-b506-c56b4c2d74b1"},{"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/6ab88e09-352d-4a84-92c9-79302cfd7ee7"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxMH0.cETwXQxSWkjI7gHSWE1Vaa-gkhsHkvmSs2_Yik3ACVo","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d05b683d143d94455e89a433499e5af7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.923456,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401710,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxMH0.cETwXQxSWkjI7gHSWE1Vaa-gkhsHkvmSs2_Yik3ACVo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9d0cff10-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.80824,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401710,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxMH0.cETwXQxSWkjI7gHSWE1Vaa-gkhsHkvmSs2_Yik3ACVo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d05b683d143d94455e89a433499e5af7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1ab7857-084e-40c0-b506-c56b4c2d74b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1ab7857-084e-40c0-b506-c56b4c2d74b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:48.144791815Z"}]},"request_id":"7a13d61f-d6cf-4cb8-a7e2-3347f8480140","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401710.4761932} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d05b683d143d94455e89a433499e5af7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1? 200 12ms","method":"GET","requestID":"d05b683d143d94455e89a433499e5af7","responseTime":12,"status":200,"url":"/devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1?"} gateway-1 | {"time_local":"29/Apr/2024:14:41:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1? 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":"d05b683d143d94455e89a433499e5af7"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","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%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"183e749c-40ac-43d1-86e9-c55de0b12f44","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401710.4804873} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a90a0f3c-1513-425c-88d6-42b85e4d0a92","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401710.4811537} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9d0cff10-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/c075a21c-d3a2-4b1c-92b4-0b726c61cc3b'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/c075a21c-d3a2-4b1c-92b4-0b726c61cc3b'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 39ms","method":"POST","requestID":"9d0cff10-0636-11ef-8c83-05b823ec2e4f","responseTime":39,"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"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1dd30c67-1bf9-494d-bc5b-41691f6bb307"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ab88e09-352d-4a84-92c9-79302cfd7ee7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"69c402cc-1029-4af1-a06a-548ee02671b4","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401710.5391176} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.48744,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9d178660-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7/signaling 200 10ms","method":"POST","requestID":"9d178660-0636-11ef-8c83-05b823ec2e4f","responseTime":10,"status":200,"url":"/devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1ab7857-084e-40c0-b506-c56b4c2d74b1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4bee1eeb-4e58-4a01-a599-fa203c9103c8","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401710.5501966} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":1.960569,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9d195b20-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1/signaling 200 8ms","method":"POST","requestID":"9d195b20-0636-11ef-8c83-05b823ec2e4f","responseTime":8,"status":200,"url":"/devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1/signaling"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/c075a21c-d3a2-4b1c-92b4-0b726c61cc3b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c075a21c-d3a2-4b1c-92b4-0b726c61cc3b","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"c634af392c9fea598cef6ee46fd24d5a","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1"},{"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/6ab88e09-352d-4a84-92c9-79302cfd7ee7"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/c075a21c-d3a2-4b1c-92b4-0b726c61cc3b"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"c634af392c9fea598cef6ee46fd24d5a","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"c634af392c9fea598cef6ee46fd24d5a"} device-1 | {"data":{"peerconnection":"c075a21c-d3a2-4b1c-92b4-0b726c61cc3b","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"c075a21c-d3a2-4b1c-92b4-0b726c61cc3b","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/c075a21c-d3a2-4b1c-92b4-0b726c61cc3b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c075a21c-d3a2-4b1c-92b4-0b726c61cc3b","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"269849d036b2f7eb079440260315a406","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/d1ab7857-084e-40c0-b506-c56b4c2d74b1"},{"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/6ab88e09-352d-4a84-92c9-79302cfd7ee7"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/c075a21c-d3a2-4b1c-92b4-0b726c61cc3b"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc075a21c-d3a2-4b1c-92b4-0b726c61cc3b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f5703a28-75af-4f15-947c-9244c963afeb","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401710.777476} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.348467,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c075a21c-d3a2-4b1c-92b4-0b726c61cc3b","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/c075a21c-d3a2-4b1c-92b4-0b726c61cc3b","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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9d3bd740-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/c075a21c-d3a2-4b1c-92b4-0b726c61cc3b 200 11ms","method":"GET","requestID":"9d3bd740-0636-11ef-8c83-05b823ec2e4f","responseTime":11,"status":200,"url":"/peerconnections/c075a21c-d3a2-4b1c-92b4-0b726c61cc3b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 41ms","method":"POST","requestID":"269849d036b2f7eb079440260315a406","responseTime":41,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch","requestID":"269849d036b2f7eb079440260315a406"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1ab7857-084e-40c0-b506-c56b4c2d74b1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"19556cb1-a313-4712-979d-c65e8b1445bd","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401710.8098514} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.38467,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9d40b940-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1/signaling 200 11ms","method":"POST","requestID":"9d40b940-0636-11ef-8c83-05b823ec2e4f","responseTime":11,"status":200,"url":"/devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ab88e09-352d-4a84-92c9-79302cfd7ee7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"afed83b9-a69e-4e23-92db-c864cb46351f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401710.8233767} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.117725,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9d42dc20-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7/signaling 200 11ms","method":"POST","requestID":"9d42dc20-0636-11ef-8c83-05b823ec2e4f","responseTime":11,"status":200,"url":"/devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxMH0.cETwXQxSWkjI7gHSWE1Vaa-gkhsHkvmSs2_Yik3ACVo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0be74554d7665bf69112a7aa18c40af6","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/1dd30c67-1bf9-494d-bc5b-41691f6bb307"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.199893,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1dd30c67-1bf9-494d-bc5b-41691f6bb307","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/1dd30c67-1bf9-494d-bc5b-41691f6bb307","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401710,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxMH0.cETwXQxSWkjI7gHSWE1Vaa-gkhsHkvmSs2_Yik3ACVo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0be74554d7665bf69112a7aa18c40af6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/1dd30c67-1bf9-494d-bc5b-41691f6bb307"} gateway-1 | {"time_local":"29/Apr/2024:14:41:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/1dd30c67-1bf9-494d-bc5b-41691f6bb307 HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0be74554d7665bf69112a7aa18c40af6"} experiment-1 | {"level":"info","message":"GET /experiments/1dd30c67-1bf9-494d-bc5b-41691f6bb307 200 16ms","method":"GET","requestID":"0be74554d7665bf69112a7aa18c40af6","responseTime":16,"status":200,"url":"/experiments/1dd30c67-1bf9-494d-bc5b-41691f6bb307"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxMH0.cETwXQxSWkjI7gHSWE1Vaa-gkhsHkvmSs2_Yik3ACVo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d8ab516e812e0c2cc85950b097359c91","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/1dd30c67-1bf9-494d-bc5b-41691f6bb307"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.5012,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1dd30c67-1bf9-494d-bc5b-41691f6bb307","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/1dd30c67-1bf9-494d-bc5b-41691f6bb307","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401710,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxMH0.cETwXQxSWkjI7gHSWE1Vaa-gkhsHkvmSs2_Yik3ACVo"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d8ab516e812e0c2cc85950b097359c91"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1dd30c67-1bf9-494d-bc5b-41691f6bb307"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.171751,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:50Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c075a21c-d3a2-4b1c-92b4-0b726c61cc3b","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:http://localhost/peerconnections/c075a21c-d3a2-4b1c-92b4-0b726c61cc3b","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401710,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxMH0.cETwXQxSWkjI7gHSWE1Vaa-gkhsHkvmSs2_Yik3ACVo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9d50bed0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/c075a21c-d3a2-4b1c-92b4-0b726c61cc3b' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/c075a21c-d3a2-4b1c-92b4-0b726c61cc3b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c075a21c-d3a2-4b1c-92b4-0b726c61cc3b","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc075a21c-d3a2-4b1c-92b4-0b726c61cc3b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc075a21c-d3a2-4b1c-92b4-0b726c61cc3b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"00dc0c6b-85f3-4320-a688-be69b3e42f5d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401710.9351583} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"1b32fa67969ad0d530fdabff74f2f3f8","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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4ce75517-0985-4621-8df1-5439986fb5e3","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401710.93587} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9d50bed0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} 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/d1ab7857-084e-40c0-b506-c56b4c2d74b1"},{"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/6ab88e09-352d-4a84-92c9-79302cfd7ee7"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c075a21c-d3a2-4b1c-92b4-0b726c61cc3b"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f6649d372a9cae8985eaeff54e079241","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/d1ab7857-084e-40c0-b506-c56b4c2d74b1"},{"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/6ab88e09-352d-4a84-92c9-79302cfd7ee7"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c075a21c-d3a2-4b1c-92b4-0b726c61cc3b"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"c075a21c-d3a2-4b1c-92b4-0b726c61cc3b","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/c075a21c-d3a2-4b1c-92b4-0b726c61cc3b 204 62ms","method":"DELETE","requestID":"9d50bed0-0636-11ef-8c83-05b823ec2e4f","responseTime":62,"status":204,"url":"/peerconnections/c075a21c-d3a2-4b1c-92b4-0b726c61cc3b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1dd30c67-1bf9-494d-bc5b-41691f6bb307"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:51Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1ab7857-084e-40c0-b506-c56b4c2d74b1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ed9475c3-cfdb-4cdd-b372-aaadc57e7e86","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401711.0046487} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.484591,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9d5e0540-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1/signaling 200 15ms","method":"POST","requestID":"9d5e0540-0636-11ef-8c83-05b823ec2e4f","responseTime":15,"status":200,"url":"/devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1/signaling"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1dd30c67-1bf9-494d-bc5b-41691f6bb307': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1dd30c67-1bf9-494d-bc5b-41691f6bb307","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"383f0cf4-9e15-48b0-97ba-737de339d2f3","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401711.0149488} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ed6ef4df-9242-4fc8-ba37-a359d7c2d735","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401711.0153813} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d8ab516e812e0c2cc85950b097359c91"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:51Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ab88e09-352d-4a84-92c9-79302cfd7ee7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a573811b-8968-44f8-8f4f-8a1b5f503d42","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401711.0245357} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.897617,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9d611280-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7/signaling 200 16ms","method":"POST","requestID":"9d611280-0636-11ef-8c83-05b823ec2e4f","responseTime":16,"status":200,"url":"/devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/1dd30c67-1bf9-494d-bc5b-41691f6bb307"} gateway-1 | {"time_local":"29/Apr/2024:14:41:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/1dd30c67-1bf9-494d-bc5b-41691f6bb307 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.197","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d8ab516e812e0c2cc85950b097359c91"} experiment-1 | {"level":"info","message":"DELETE /experiments/1dd30c67-1bf9-494d-bc5b-41691f6bb307 204 193ms","method":"DELETE","requestID":"d8ab516e812e0c2cc85950b097359c91","responseTime":193,"status":204,"url":"/experiments/1dd30c67-1bf9-494d-bc5b-41691f6bb307"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 148ms","method":"POST","requestID":"1b32fa67969ad0d530fdabff74f2f3f8","responseTime":148,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.153","http_referrer":"","http_user_agent":"node-fetch","requestID":"1b32fa67969ad0d530fdabff74f2f3f8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 146ms","method":"POST","requestID":"f6649d372a9cae8985eaeff54e079241","responseTime":146,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxMX0.uW5WdoUuFT_BKXzKqwD38mF2HX2g8NUeu3fA3ZHTXX0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b722a22095e1b4087481bba707bbdeab","responseTime":5,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2024:14:41:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2436","request_time":"0.960","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"fef6700397d5769e3ab2fb0f15e12471"} gateway-1 | {"time_local":"29/Apr/2024:14:41:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.160","http_referrer":"","http_user_agent":"node-fetch","requestID":"f6649d372a9cae8985eaeff54e079241"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:51Z"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.811906,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401711,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxMX0.uW5WdoUuFT_BKXzKqwD38mF2HX2g8NUeu3fA3ZHTXX0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b722a22095e1b4087481bba707bbdeab"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} gateway-1 | {"time_local":"29/Apr/2024:14:41:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2302","request_time":"0.938","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"dc5b1d75a83870597e4e1d23eb537c00"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/d1ab7857-084e-40c0-b506-c56b4c2d74b1' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/6ab88e09-352d-4a84-92c9-79302cfd7ee7' 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:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf5c593d-498c-46b3-b719-d0125006a1e3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"116f51be-2d8f-4869-b9a6-e65a0a4a7bd1","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401711.116763} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b722a22095e1b4087481bba707bbdeab"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9142a159-bd73-474f-95c2-403fcbcbfe85","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401711.1213496} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b722a22095e1b4087481bba707bbdeab"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf5c593d-498c-46b3-b719-d0125006a1e3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"cee88f13-e4b1-4c0a-87d4-4cb95c7e20d3","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401711.1321611} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a0d4ea9f-0331-40fc-8f40-abe64effabcc","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401711.132292} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b722a22095e1b4087481bba707bbdeab"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf5c593d-498c-46b3-b719-d0125006a1e3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf5c593d-498c-46b3-b719-d0125006a1e3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:51.132139763Z"}]},"request_id":"69e3a026-b656-45c7-8d62-677f6d997fe3","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401711.1365232} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b722a22095e1b4087481bba707bbdeab"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b722a22095e1b4087481bba707bbdeab"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"b722a22095e1b4087481bba707bbdeab","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxMX0.uW5WdoUuFT_BKXzKqwD38mF2HX2g8NUeu3fA3ZHTXX0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5c06e08189c1fb049f7d7d85031e165d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:51Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.728482,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401711,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxMX0.uW5WdoUuFT_BKXzKqwD38mF2HX2g8NUeu3fA3ZHTXX0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5c06e08189c1fb049f7d7d85031e165d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4022c9a-cad8-4271-930b-79843c3af5c1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e39c65ab-892e-4ff8-b3c6-8293eb5067f8","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401711.1588447} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5c06e08189c1fb049f7d7d85031e165d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b7367bed-3f31-491f-9b0a-dc9cc508b488","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401711.163148} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5c06e08189c1fb049f7d7d85031e165d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4022c9a-cad8-4271-930b-79843c3af5c1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"64a421f3-4732-486d-b2d7-392d6257a28a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401711.1712143} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dda857ee-3e46-4048-b208-79a23267d953","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401711.1713536} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5c06e08189c1fb049f7d7d85031e165d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4022c9a-cad8-4271-930b-79843c3af5c1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4022c9a-cad8-4271-930b-79843c3af5c1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:51.171195306Z"}]},"request_id":"4c590a4e-75fa-433e-a454-5cc09703614f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401711.1751685} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5c06e08189c1fb049f7d7d85031e165d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5c06e08189c1fb049f7d7d85031e165d"} device-1 | {"level":"info","message":"POST /devices? 201 33ms","method":"POST","requestID":"5c06e08189c1fb049f7d7d85031e165d","responseTime":33,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"e53ac183139527343daa8646e8f118fc","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2024:14:41:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/df5c593d-498c-46b3-b719-d0125006a1e3/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.018","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e53ac183139527343daa8646e8f118fc"} device-1 | {"level":"info","message":"OPTIONS /devices/df5c593d-498c-46b3-b719-d0125006a1e3/websocket 200 1ms","method":"OPTIONS","requestID":"e53ac183139527343daa8646e8f118fc","responseTime":1,"status":200,"url":"/devices/df5c593d-498c-46b3-b719-d0125006a1e3/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxM30.KZRdfhbGda1v14_CgnRCKqaOIvHL0izM2qeVntA35aA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bee11dd79b2db86a6f107dd3739f7f5f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.911888,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/df5c593d-498c-46b3-b719-d0125006a1e3","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/df5c593d-498c-46b3-b719-d0125006a1e3","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401713,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxM30.KZRdfhbGda1v14_CgnRCKqaOIvHL0izM2qeVntA35aA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bee11dd79b2db86a6f107dd3739f7f5f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fa7af67161359072b1560cd5a7ad0a73","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2024:14:41:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/d4022c9a-cad8-4271-930b-79843c3af5c1/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":"fa7af67161359072b1560cd5a7ad0a73"} device-1 | {"level":"info","message":"OPTIONS /devices/d4022c9a-cad8-4271-930b-79843c3af5c1/websocket 200 1ms","method":"OPTIONS","requestID":"fa7af67161359072b1560cd5a7ad0a73","responseTime":1,"status":200,"url":"/devices/d4022c9a-cad8-4271-930b-79843c3af5c1/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxM30.KZRdfhbGda1v14_CgnRCKqaOIvHL0izM2qeVntA35aA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"334404de7a8dc51f1db20de3bbcdc8b6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.767217,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4022c9a-cad8-4271-930b-79843c3af5c1","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/d4022c9a-cad8-4271-930b-79843c3af5c1","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401713,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxM30.KZRdfhbGda1v14_CgnRCKqaOIvHL0izM2qeVntA35aA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"334404de7a8dc51f1db20de3bbcdc8b6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/df5c593d-498c-46b3-b719-d0125006a1e3/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":"bee11dd79b2db86a6f107dd3739f7f5f"} device-1 | {"level":"info","message":"POST /devices/df5c593d-498c-46b3-b719-d0125006a1e3/websocket 200 35ms","method":"POST","requestID":"bee11dd79b2db86a6f107dd3739f7f5f","responseTime":35,"status":200,"url":"/devices/df5c593d-498c-46b3-b719-d0125006a1e3/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/d4022c9a-cad8-4271-930b-79843c3af5c1/websocket 200 30ms","method":"POST","requestID":"334404de7a8dc51f1db20de3bbcdc8b6","responseTime":30,"status":200,"url":"/devices/d4022c9a-cad8-4271-930b-79843c3af5c1/websocket"} gateway-1 | {"time_local":"29/Apr/2024:14:41:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d4022c9a-cad8-4271-930b-79843c3af5c1/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.034","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"334404de7a8dc51f1db20de3bbcdc8b6"} device-1 | {"level":"info","message":"device 'http://localhost/devices/df5c593d-498c-46b3-b719-d0125006a1e3' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d4022c9a-cad8-4271-930b-79843c3af5c1' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxM30.KZRdfhbGda1v14_CgnRCKqaOIvHL0izM2qeVntA35aA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3acc2376f09ffd995105a2e50b5d268d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.086267,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/df5c593d-498c-46b3-b719-d0125006a1e3","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/df5c593d-498c-46b3-b719-d0125006a1e3","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401713,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxM30.KZRdfhbGda1v14_CgnRCKqaOIvHL0izM2qeVntA35aA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3acc2376f09ffd995105a2e50b5d268d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf5c593d-498c-46b3-b719-d0125006a1e3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf5c593d-498c-46b3-b719-d0125006a1e3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:51.132139763Z"}]},"request_id":"20963b83-fd8a-4b33-a9c2-0ba0af7d2018","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401713.235654} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3acc2376f09ffd995105a2e50b5d268d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/df5c593d-498c-46b3-b719-d0125006a1e3? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3acc2376f09ffd995105a2e50b5d268d"} device-1 | {"level":"info","message":"GET /devices/df5c593d-498c-46b3-b719-d0125006a1e3? 200 16ms","method":"GET","requestID":"3acc2376f09ffd995105a2e50b5d268d","responseTime":16,"status":200,"url":"/devices/df5c593d-498c-46b3-b719-d0125006a1e3?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxM30.KZRdfhbGda1v14_CgnRCKqaOIvHL0izM2qeVntA35aA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"56d7c6971f8d28f656419cfe5c1b70c9","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.250165,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4022c9a-cad8-4271-930b-79843c3af5c1","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/d4022c9a-cad8-4271-930b-79843c3af5c1","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401713,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxM30.KZRdfhbGda1v14_CgnRCKqaOIvHL0izM2qeVntA35aA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"56d7c6971f8d28f656419cfe5c1b70c9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4022c9a-cad8-4271-930b-79843c3af5c1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4022c9a-cad8-4271-930b-79843c3af5c1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:51.171195306Z"}]},"request_id":"eda90df3-334d-40f3-8a57-12be6cbcd0d8","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401713.2620604} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"56d7c6971f8d28f656419cfe5c1b70c9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d4022c9a-cad8-4271-930b-79843c3af5c1? 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":"56d7c6971f8d28f656419cfe5c1b70c9"} device-1 | {"level":"info","message":"GET /devices/d4022c9a-cad8-4271-930b-79843c3af5c1? 200 20ms","method":"GET","requestID":"56d7c6971f8d28f656419cfe5c1b70c9","responseTime":20,"status":200,"url":"/devices/d4022c9a-cad8-4271-930b-79843c3af5c1?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxM30.KZRdfhbGda1v14_CgnRCKqaOIvHL0izM2qeVntA35aA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a23a5f40f8663ed2a2e82052bfe34e2c","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.32075,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401713,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxM30.KZRdfhbGda1v14_CgnRCKqaOIvHL0izM2qeVntA35aA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a23a5f40f8663ed2a2e82052bfe34e2c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b8e1dba7-bdb2-4899-afbf-bfb9dd4782d4"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b8e1dba7-bdb2-4899-afbf-bfb9dd4782d4"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b8e1dba7-bdb2-4899-afbf-bfb9dd4782d4"},"level":"info","message":"Successfully booked experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.328158,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/df5c593d-498c-46b3-b719-d0125006a1e3","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/df5c593d-498c-46b3-b719-d0125006a1e3","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401713,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxM30.KZRdfhbGda1v14_CgnRCKqaOIvHL0izM2qeVntA35aA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9ec49a20-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.291628,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4022c9a-cad8-4271-930b-79843c3af5c1","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/d4022c9a-cad8-4271-930b-79843c3af5c1","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401713,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxM30.KZRdfhbGda1v14_CgnRCKqaOIvHL0izM2qeVntA35aA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9ec4c130-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf5c593d-498c-46b3-b719-d0125006a1e3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf5c593d-498c-46b3-b719-d0125006a1e3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:51.132139763Z"}]},"request_id":"b41a074e-1695-41dc-97a4-55993f59aa8b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401713.3566833} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9ec49a20-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4022c9a-cad8-4271-930b-79843c3af5c1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4022c9a-cad8-4271-930b-79843c3af5c1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:51.171195306Z"}]},"request_id":"39840348-1aa9-4cde-a2f5-8a53eef9c6f1","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401713.3594804} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9ec4c130-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"GET /devices/df5c593d-498c-46b3-b719-d0125006a1e3? 200 14ms","method":"GET","requestID":"9ec49a20-0636-11ef-8c83-05b823ec2e4f","responseTime":14,"status":200,"url":"/devices/df5c593d-498c-46b3-b719-d0125006a1e3?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/d4022c9a-cad8-4271-930b-79843c3af5c1? 200 18ms","method":"GET","requestID":"9ec4c130-0636-11ef-8c83-05b823ec2e4f","responseTime":18,"status":200,"url":"/devices/d4022c9a-cad8-4271-930b-79843c3af5c1?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b8e1dba7-bdb2-4899-afbf-bfb9dd4782d4"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b8e1dba7-bdb2-4899-afbf-bfb9dd4782d4"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b8e1dba7-bdb2-4899-afbf-bfb9dd4782d4"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b8e1dba7-bdb2-4899-afbf-bfb9dd4782d4"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b8e1dba7-bdb2-4899-afbf-bfb9dd4782d4"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b8e1dba7-bdb2-4899-afbf-bfb9dd4782d4"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b8e1dba7-bdb2-4899-afbf-bfb9dd4782d4"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b8e1dba7-bdb2-4899-afbf-bfb9dd4782d4"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:53Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:53Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b8e1dba7-bdb2-4899-afbf-bfb9dd4782d4"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.078304,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.660494,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/df5c593d-498c-46b3-b719-d0125006a1e3","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/df5c593d-498c-46b3-b719-d0125006a1e3","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401713,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxM30.KZRdfhbGda1v14_CgnRCKqaOIvHL0izM2qeVntA35aA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9ecfbdb0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4022c9a-cad8-4271-930b-79843c3af5c1","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/d4022c9a-cad8-4271-930b-79843c3af5c1","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401713,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxM30.KZRdfhbGda1v14_CgnRCKqaOIvHL0izM2qeVntA35aA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9ecfe4c0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:40488","level":"info","msg":"Received request.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf5c593d-498c-46b3-b719-d0125006a1e3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b87d26b6-0aa9-45bd-b494-a3fcc8814ee7","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401713.431152} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf5c593d-498c-46b3-b719-d0125006a1e3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf5c593d-498c-46b3-b719-d0125006a1e3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:51.132139763Z"}]},"request_id":"01ef27b1-5b1c-408e-99b1-fb24d26d4b95","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401713.4318328} authorization-1 | {"client_addr":"127.0.0.1:40488","level":"info","msg":"Sent response.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.357108,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/df5c593d-498c-46b3-b719-d0125006a1e3","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/df5c593d-498c-46b3-b719-d0125006a1e3","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9ed032e0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9ecfbdb0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4022c9a-cad8-4271-930b-79843c3af5c1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4022c9a-cad8-4271-930b-79843c3af5c1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:51.171195306Z"}]},"request_id":"cd5d99ed-304f-4784-9dde-5b3480c9dd4c","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401713.4332266} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9ecfe4c0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/df5c593d-498c-46b3-b719-d0125006a1e3/signaling 200 18ms","method":"POST","requestID":"9ed032e0-0636-11ef-8c83-05b823ec2e4f","responseTime":18,"status":200,"url":"/devices/df5c593d-498c-46b3-b719-d0125006a1e3/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/df5c593d-498c-46b3-b719-d0125006a1e3? 200 22ms","method":"GET","requestID":"9ecfbdb0-0636-11ef-8c83-05b823ec2e4f","responseTime":22,"status":200,"url":"/devices/df5c593d-498c-46b3-b719-d0125006a1e3?"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb8e1dba7-bdb2-4899-afbf-bfb9dd4782d4#owner@http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb8e1dba7-bdb2-4899-afbf-bfb9dd4782d4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"e4bebc3a-9bf0-4a26-a7d3-fa0afd5f304f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401713.4418592} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4bc8d0f8-b5f0-4d94-ab15-5feca7879ef1","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401713.442098} device-1 | {"level":"info","message":"GET /devices/d4022c9a-cad8-4271-930b-79843c3af5c1? 200 23ms","method":"GET","requestID":"9ecfe4c0-0636-11ef-8c83-05b823ec2e4f","responseTime":23,"status":200,"url":"/devices/d4022c9a-cad8-4271-930b-79843c3af5c1?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a23a5f40f8663ed2a2e82052bfe34e2c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4022c9a-cad8-4271-930b-79843c3af5c1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"519da36c-fa71-449f-a6e2-f4c21e0434a7","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401713.4499512} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.661417,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4022c9a-cad8-4271-930b-79843c3af5c1","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d4022c9a-cad8-4271-930b-79843c3af5c1","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/b8e1dba7-bdb2-4899-afbf-bfb9dd4782d4","user":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9ed36730-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} gateway-1 | {"time_local":"29/Apr/2024:14:41:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.181","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a23a5f40f8663ed2a2e82052bfe34e2c"} experiment-1 | {"level":"info","message":"POST /experiments? 201 174ms","method":"POST","requestID":"a23a5f40f8663ed2a2e82052bfe34e2c","responseTime":174,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf5c593d-498c-46b3-b719-d0125006a1e3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"74aeead9-5e5c-4b88-adfa-62f837afb85e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401713.4514928} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.872908,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/df5c593d-498c-46b3-b719-d0125006a1e3","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/df5c593d-498c-46b3-b719-d0125006a1e3","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9ed3dc60-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxM30.KZRdfhbGda1v14_CgnRCKqaOIvHL0izM2qeVntA35aA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6dd5804cf33d69d95e6cfce0a8192fd0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d4022c9a-cad8-4271-930b-79843c3af5c1/signaling 200 15ms","method":"POST","requestID":"9ed36730-0636-11ef-8c83-05b823ec2e4f","responseTime":15,"status":200,"url":"/devices/d4022c9a-cad8-4271-930b-79843c3af5c1/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/df5c593d-498c-46b3-b719-d0125006a1e3/signaling 200 14ms","method":"POST","requestID":"9ed3dc60-0636-11ef-8c83-05b823ec2e4f","responseTime":14,"status":200,"url":"/devices/df5c593d-498c-46b3-b719-d0125006a1e3/signaling"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.871807,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:53Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/df5c593d-498c-46b3-b719-d0125006a1e3","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/df5c593d-498c-46b3-b719-d0125006a1e3","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401713,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxM30.KZRdfhbGda1v14_CgnRCKqaOIvHL0izM2qeVntA35aA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6dd5804cf33d69d95e6cfce0a8192fd0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf5c593d-498c-46b3-b719-d0125006a1e3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf5c593d-498c-46b3-b719-d0125006a1e3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:51.132139763Z"}]},"request_id":"ab78f9c6-55ff-4afa-8fa5-f3325dda5fe1","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401713.4673665} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4022c9a-cad8-4271-930b-79843c3af5c1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1a5c9f63-3478-4234-b48f-847ff2c283ec","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401713.4674118} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6dd5804cf33d69d95e6cfce0a8192fd0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.422996,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4022c9a-cad8-4271-930b-79843c3af5c1","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d4022c9a-cad8-4271-930b-79843c3af5c1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9ed64d60-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/df5c593d-498c-46b3-b719-d0125006a1e3? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6dd5804cf33d69d95e6cfce0a8192fd0"} device-1 | {"level":"info","message":"GET /devices/df5c593d-498c-46b3-b719-d0125006a1e3? 200 14ms","method":"GET","requestID":"6dd5804cf33d69d95e6cfce0a8192fd0","responseTime":14,"status":200,"url":"/devices/df5c593d-498c-46b3-b719-d0125006a1e3?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d4022c9a-cad8-4271-930b-79843c3af5c1/signaling 200 11ms","method":"POST","requestID":"9ed64d60-0636-11ef-8c83-05b823ec2e4f","responseTime":11,"status":200,"url":"/devices/d4022c9a-cad8-4271-930b-79843c3af5c1/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b8e1dba7-bdb2-4899-afbf-bfb9dd4782d4"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b8e1dba7-bdb2-4899-afbf-bfb9dd4782d4"},"level":"info","message":"Building connection plan"} 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":"b22657df-9da7-46f0-b03e-c6148fa1bfa6"},{"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":"f3334ded-db7d-42a9-97c6-36861205166a"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"d5ea834f-e337-4915-a547-b487123ff1f4"}]},"level":"info","message":"Built pairwise service configurations"} 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/df5c593d-498c-46b3-b719-d0125006a1e3"},{"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/d4022c9a-cad8-4271-930b-79843c3af5c1"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxM30.KZRdfhbGda1v14_CgnRCKqaOIvHL0izM2qeVntA35aA","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"af66c1a794363dcafb2ae76fb2c65468","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.075166,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401713,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxM30.KZRdfhbGda1v14_CgnRCKqaOIvHL0izM2qeVntA35aA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9ed87040-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.49624,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4022c9a-cad8-4271-930b-79843c3af5c1","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/d4022c9a-cad8-4271-930b-79843c3af5c1","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401713,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxM30.KZRdfhbGda1v14_CgnRCKqaOIvHL0izM2qeVntA35aA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"af66c1a794363dcafb2ae76fb2c65468"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4022c9a-cad8-4271-930b-79843c3af5c1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4022c9a-cad8-4271-930b-79843c3af5c1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:51.171195306Z"}]},"request_id":"e4d170f7-f394-46d7-8919-71995fa4f8d7","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401713.4884992} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"af66c1a794363dcafb2ae76fb2c65468"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d4022c9a-cad8-4271-930b-79843c3af5c1? 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":"af66c1a794363dcafb2ae76fb2c65468"} device-1 | {"level":"info","message":"GET /devices/d4022c9a-cad8-4271-930b-79843c3af5c1? 200 15ms","method":"GET","requestID":"af66c1a794363dcafb2ae76fb2c65468","responseTime":15,"status":200,"url":"/devices/d4022c9a-cad8-4271-930b-79843c3af5c1?"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","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%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"d60153ad-32d6-4972-9508-bc47e3b31ba6","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401713.4926805} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8750a26a-1908-48a5-9bc9-8a889ebb62b3","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401713.4929988} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9ed87040-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/1d05ce0b-7df5-4dd5-aa27-4e1436383e66'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/1d05ce0b-7df5-4dd5-aa27-4e1436383e66'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 40ms","method":"POST","requestID":"9ed87040-0636-11ef-8c83-05b823ec2e4f","responseTime":40,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b8e1dba7-bdb2-4899-afbf-bfb9dd4782d4"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf5c593d-498c-46b3-b719-d0125006a1e3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1265dd5d-0781-444f-9b05-cff908dc34c5","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401713.5546634} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.816461,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/df5c593d-498c-46b3-b719-d0125006a1e3","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/df5c593d-498c-46b3-b719-d0125006a1e3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9ee3bae0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/df5c593d-498c-46b3-b719-d0125006a1e3/signaling 200 10ms","method":"POST","requestID":"9ee3bae0-0636-11ef-8c83-05b823ec2e4f","responseTime":10,"status":200,"url":"/devices/df5c593d-498c-46b3-b719-d0125006a1e3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4022c9a-cad8-4271-930b-79843c3af5c1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bd995011-c193-40fd-8b78-575b40b3c649","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401713.5668688} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.612126,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4022c9a-cad8-4271-930b-79843c3af5c1","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d4022c9a-cad8-4271-930b-79843c3af5c1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9ee58fa0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d4022c9a-cad8-4271-930b-79843c3af5c1/signaling 200 10ms","method":"POST","requestID":"9ee58fa0-0636-11ef-8c83-05b823ec2e4f","responseTime":10,"status":200,"url":"/devices/d4022c9a-cad8-4271-930b-79843c3af5c1/signaling"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/1d05ce0b-7df5-4dd5-aa27-4e1436383e66' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1d05ce0b-7df5-4dd5-aa27-4e1436383e66","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"78878771c3b58ba4a618164082616de9","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/df5c593d-498c-46b3-b719-d0125006a1e3"},{"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/d4022c9a-cad8-4271-930b-79843c3af5c1"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/1d05ce0b-7df5-4dd5-aa27-4e1436383e66"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"78878771c3b58ba4a618164082616de9","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"78878771c3b58ba4a618164082616de9"} device-1 | {"data":{"peerconnection":"1d05ce0b-7df5-4dd5-aa27-4e1436383e66","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"1d05ce0b-7df5-4dd5-aa27-4e1436383e66","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/1d05ce0b-7df5-4dd5-aa27-4e1436383e66' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1d05ce0b-7df5-4dd5-aa27-4e1436383e66","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1262c54f729d4bf6d77a2882bb9ae831","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/df5c593d-498c-46b3-b719-d0125006a1e3"},{"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/d4022c9a-cad8-4271-930b-79843c3af5c1"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/1d05ce0b-7df5-4dd5-aa27-4e1436383e66"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1d05ce0b-7df5-4dd5-aa27-4e1436383e66","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3234300f-7105-4a72-a9ad-322f17fdf420","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401713.817694} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.411747,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1d05ce0b-7df5-4dd5-aa27-4e1436383e66","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/1d05ce0b-7df5-4dd5-aa27-4e1436383e66","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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9f0bb540-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/1d05ce0b-7df5-4dd5-aa27-4e1436383e66 200 11ms","method":"GET","requestID":"9f0bb540-0636-11ef-8c83-05b823ec2e4f","responseTime":11,"status":200,"url":"/peerconnections/1d05ce0b-7df5-4dd5-aa27-4e1436383e66"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 31ms","method":"POST","requestID":"1262c54f729d4bf6d77a2882bb9ae831","responseTime":31,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.034","http_referrer":"","http_user_agent":"node-fetch","requestID":"1262c54f729d4bf6d77a2882bb9ae831"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf5c593d-498c-46b3-b719-d0125006a1e3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ae9c97be-3b1a-4237-be76-af5b7b264ffe","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401713.845288} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.829197,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/df5c593d-498c-46b3-b719-d0125006a1e3","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/df5c593d-498c-46b3-b719-d0125006a1e3","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9f0fd3f0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/df5c593d-498c-46b3-b719-d0125006a1e3/signaling 200 11ms","method":"POST","requestID":"9f0fd3f0-0636-11ef-8c83-05b823ec2e4f","responseTime":11,"status":200,"url":"/devices/df5c593d-498c-46b3-b719-d0125006a1e3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4022c9a-cad8-4271-930b-79843c3af5c1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"28c02805-48f5-470f-a470-6f3788787003","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401713.8575559} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.546047,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4022c9a-cad8-4271-930b-79843c3af5c1","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d4022c9a-cad8-4271-930b-79843c3af5c1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9f11f6d0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d4022c9a-cad8-4271-930b-79843c3af5c1/signaling 200 9ms","method":"POST","requestID":"9f11f6d0-0636-11ef-8c83-05b823ec2e4f","responseTime":9,"status":200,"url":"/devices/d4022c9a-cad8-4271-930b-79843c3af5c1/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxM30.KZRdfhbGda1v14_CgnRCKqaOIvHL0izM2qeVntA35aA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5bb81562edc8e7e1f30d443a74f01f4b","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/b8e1dba7-bdb2-4899-afbf-bfb9dd4782d4"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.850157,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b8e1dba7-bdb2-4899-afbf-bfb9dd4782d4","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/b8e1dba7-bdb2-4899-afbf-bfb9dd4782d4","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401713,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxM30.KZRdfhbGda1v14_CgnRCKqaOIvHL0izM2qeVntA35aA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5bb81562edc8e7e1f30d443a74f01f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/b8e1dba7-bdb2-4899-afbf-bfb9dd4782d4"} gateway-1 | {"time_local":"29/Apr/2024:14:41:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/b8e1dba7-bdb2-4899-afbf-bfb9dd4782d4 HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5bb81562edc8e7e1f30d443a74f01f4b"} experiment-1 | {"level":"info","message":"GET /experiments/b8e1dba7-bdb2-4899-afbf-bfb9dd4782d4 200 15ms","method":"GET","requestID":"5bb81562edc8e7e1f30d443a74f01f4b","responseTime":16,"status":200,"url":"/experiments/b8e1dba7-bdb2-4899-afbf-bfb9dd4782d4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxM30.KZRdfhbGda1v14_CgnRCKqaOIvHL0izM2qeVntA35aA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"449cbe0fd452f0d4cfbe9863b5c75c4a","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/b8e1dba7-bdb2-4899-afbf-bfb9dd4782d4"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.193221,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b8e1dba7-bdb2-4899-afbf-bfb9dd4782d4","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/b8e1dba7-bdb2-4899-afbf-bfb9dd4782d4","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401713,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxM30.KZRdfhbGda1v14_CgnRCKqaOIvHL0izM2qeVntA35aA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"449cbe0fd452f0d4cfbe9863b5c75c4a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b8e1dba7-bdb2-4899-afbf-bfb9dd4782d4"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.730333,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:53Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1d05ce0b-7df5-4dd5-aa27-4e1436383e66","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:http://localhost/peerconnections/1d05ce0b-7df5-4dd5-aa27-4e1436383e66","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401713,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxM30.KZRdfhbGda1v14_CgnRCKqaOIvHL0izM2qeVntA35aA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9f1fb270-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/1d05ce0b-7df5-4dd5-aa27-4e1436383e66' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/1d05ce0b-7df5-4dd5-aa27-4e1436383e66' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1d05ce0b-7df5-4dd5-aa27-4e1436383e66","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1d05ce0b-7df5-4dd5-aa27-4e1436383e66': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1d05ce0b-7df5-4dd5-aa27-4e1436383e66","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"2e5a765c-68bd-4901-99a7-c9364dafcd0e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401713.961395} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7a86efc3-7018-4a33-8198-8de797be6aaf","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401713.9616005} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c28dd4d48cd533ed191ae1ba2fa83cf1","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9f1fb270-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"69dbbc7ef59a7e1e22ad7b99ee5445b3","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/df5c593d-498c-46b3-b719-d0125006a1e3"},{"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/d4022c9a-cad8-4271-930b-79843c3af5c1"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1d05ce0b-7df5-4dd5-aa27-4e1436383e66"}}},"level":"info","message":"received a callback"} 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/df5c593d-498c-46b3-b719-d0125006a1e3"},{"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/d4022c9a-cad8-4271-930b-79843c3af5c1"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1d05ce0b-7df5-4dd5-aa27-4e1436383e66"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/1d05ce0b-7df5-4dd5-aa27-4e1436383e66 204 62ms","method":"DELETE","requestID":"9f1fb270-0636-11ef-8c83-05b823ec2e4f","responseTime":62,"status":204,"url":"/peerconnections/1d05ce0b-7df5-4dd5-aa27-4e1436383e66"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/d4022c9a-cad8-4271-930b-79843c3af5c1'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b8e1dba7-bdb2-4899-afbf-bfb9dd4782d4"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:54Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf5c593d-498c-46b3-b719-d0125006a1e3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7576ccd7-0335-4765-ab3c-0ddf4f301179","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401714.038603} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.946601,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/df5c593d-498c-46b3-b719-d0125006a1e3","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/df5c593d-498c-46b3-b719-d0125006a1e3","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9f2d1ff0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/df5c593d-498c-46b3-b719-d0125006a1e3/signaling 200 13ms","method":"POST","requestID":"9f2d1ff0-0636-11ef-8c83-05b823ec2e4f","responseTime":13,"status":200,"url":"/devices/df5c593d-498c-46b3-b719-d0125006a1e3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb8e1dba7-bdb2-4899-afbf-bfb9dd4782d4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb8e1dba7-bdb2-4899-afbf-bfb9dd4782d4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"c2d4a6d6-56b8-4a3f-9a20-7263d5bf0399","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401714.0469103} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"22939595-5d6d-43db-8a12-dbe9945115d8","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401714.0471435} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"449cbe0fd452f0d4cfbe9863b5c75c4a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:54Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4022c9a-cad8-4271-930b-79843c3af5c1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"17642e4d-24b5-4c91-872c-d84bb47a51cb","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401714.0530457} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.391057,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4022c9a-cad8-4271-930b-79843c3af5c1","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d4022c9a-cad8-4271-930b-79843c3af5c1","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9f2f69e0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d4022c9a-cad8-4271-930b-79843c3af5c1/signaling 200 13ms","method":"POST","requestID":"9f2f69e0-0636-11ef-8c83-05b823ec2e4f","responseTime":13,"status":200,"url":"/devices/d4022c9a-cad8-4271-930b-79843c3af5c1/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/b8e1dba7-bdb2-4899-afbf-bfb9dd4782d4"} gateway-1 | {"time_local":"29/Apr/2024:14:41:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/b8e1dba7-bdb2-4899-afbf-bfb9dd4782d4 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.189","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"449cbe0fd452f0d4cfbe9863b5c75c4a"} experiment-1 | {"level":"info","message":"DELETE /experiments/b8e1dba7-bdb2-4899-afbf-bfb9dd4782d4 204 185ms","method":"DELETE","requestID":"449cbe0fd452f0d4cfbe9863b5c75c4a","responseTime":185,"status":204,"url":"/experiments/b8e1dba7-bdb2-4899-afbf-bfb9dd4782d4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 149ms","method":"POST","requestID":"c28dd4d48cd533ed191ae1ba2fa83cf1","responseTime":149,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.154","http_referrer":"","http_user_agent":"node-fetch","requestID":"c28dd4d48cd533ed191ae1ba2fa83cf1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 149ms","method":"POST","requestID":"69dbbc7ef59a7e1e22ad7b99ee5445b3","responseTime":149,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.154","http_referrer":"","http_user_agent":"node-fetch","requestID":"69dbbc7ef59a7e1e22ad7b99ee5445b3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxNH0.kzuJjMlGmwXqc1TUBxVRT9Ib9ChaUWCq2E_TTO04qVk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b7745ff28516e461c97f44a36b4c448b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:54Z"} gateway-1 | {"time_local":"29/Apr/2024:14:41:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2436","request_time":"0.932","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"fd0c1e3f17b0f014cbfb9a2cffbb121a"} gateway-1 | {"time_local":"29/Apr/2024:14:41:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2300","request_time":"0.921","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"921d705867902f75daadc11059b567cc"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":2.181418,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:54Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401714,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxNH0.kzuJjMlGmwXqc1TUBxVRT9Ib9ChaUWCq2E_TTO04qVk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b7745ff28516e461c97f44a36b4c448b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/df5c593d-498c-46b3-b719-d0125006a1e3' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/d4022c9a-cad8-4271-930b-79843c3af5c1' 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:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc400f4e5-fce0-4bfe-880d-b27c85222ab4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"cc407a9e-15b4-4455-9a48-807e97a84c48","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401714.1455188} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b7745ff28516e461c97f44a36b4c448b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f8ad10e5-645f-4e7f-97b7-71c874da30e8","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401714.1515274} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b7745ff28516e461c97f44a36b4c448b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc400f4e5-fce0-4bfe-880d-b27c85222ab4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"7edbc399-d230-4624-80ff-20b50dc56c84","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401714.1649857} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1f787768-7b3d-4386-a082-1e069c6eb428","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401714.1651995} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b7745ff28516e461c97f44a36b4c448b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc400f4e5-fce0-4bfe-880d-b27c85222ab4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc400f4e5-fce0-4bfe-880d-b27c85222ab4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:54.164961546Z"}]},"request_id":"ff3b4b15-587a-4484-a6b5-e8b6395e4bfd","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401714.169516} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b7745ff28516e461c97f44a36b4c448b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:54 +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":"b7745ff28516e461c97f44a36b4c448b"} device-1 | {"level":"info","message":"POST /devices? 201 53ms","method":"POST","requestID":"b7745ff28516e461c97f44a36b4c448b","responseTime":53,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxNH0.kzuJjMlGmwXqc1TUBxVRT9Ib9ChaUWCq2E_TTO04qVk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"07ed7c9df92d68cc474b3167fbc4b124","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:54Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.907339,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:54Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401714,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxNH0.kzuJjMlGmwXqc1TUBxVRT9Ib9ChaUWCq2E_TTO04qVk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"07ed7c9df92d68cc474b3167fbc4b124"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F758f2d28-0d57-45c2-995e-61707d8332b9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ce65ac48-a492-4c56-9f54-709c4da0f2ff","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401714.1970534} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"07ed7c9df92d68cc474b3167fbc4b124"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"470271fb-c128-4a52-8141-f97134181876","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401714.2025347} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"07ed7c9df92d68cc474b3167fbc4b124"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F758f2d28-0d57-45c2-995e-61707d8332b9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"a1ce182e-efbd-40b7-a07c-3468574648d2","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401714.2138011} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1dbca177-8a07-4581-a327-a2d5494b4920","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401714.2141328} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"07ed7c9df92d68cc474b3167fbc4b124"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F758f2d28-0d57-45c2-995e-61707d8332b9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F758f2d28-0d57-45c2-995e-61707d8332b9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:54.213775208Z"}]},"request_id":"bd0c50ae-d225-4b64-a1eb-3016c0e01ec2","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401714.2196734} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"07ed7c9df92d68cc474b3167fbc4b124"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"07ed7c9df92d68cc474b3167fbc4b124"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"07ed7c9df92d68cc474b3167fbc4b124","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxNH0.kzuJjMlGmwXqc1TUBxVRT9Ib9ChaUWCq2E_TTO04qVk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"6ea48844f29f73128c8c0fcc3466ea75","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:54Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.606043,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:54Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/758f2d28-0d57-45c2-995e-61707d8332b9","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/758f2d28-0d57-45c2-995e-61707d8332b9","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401714,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxNH0.kzuJjMlGmwXqc1TUBxVRT9Ib9ChaUWCq2E_TTO04qVk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6ea48844f29f73128c8c0fcc3466ea75"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F758f2d28-0d57-45c2-995e-61707d8332b9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F758f2d28-0d57-45c2-995e-61707d8332b9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:54.213775208Z"}]},"request_id":"13ff2757-75d8-4c81-85a1-da861b4721d2","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401714.7188156} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6ea48844f29f73128c8c0fcc3466ea75"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e8228fe3-a0ce-4312-afdd-b3d349a008c8","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401714.7244024} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6ea48844f29f73128c8c0fcc3466ea75"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F758f2d28-0d57-45c2-995e-61707d8332b9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F758f2d28-0d57-45c2-995e-61707d8332b9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:54.213775208Z"}]},"request_id":"74b733fb-2be2-42ac-b9e3-77c9cd5e7fef","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401714.7416053} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6ea48844f29f73128c8c0fcc3466ea75"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/758f2d28-0d57-45c2-995e-61707d8332b9 200 38ms","method":"PATCH","requestID":"6ea48844f29f73128c8c0fcc3466ea75","responseTime":38,"status":200,"url":"/devices/758f2d28-0d57-45c2-995e-61707d8332b9"} gateway-1 | {"time_local":"29/Apr/2024:14:41:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/758f2d28-0d57-45c2-995e-61707d8332b9 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.045","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"6ea48844f29f73128c8c0fcc3466ea75"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxNH0.kzuJjMlGmwXqc1TUBxVRT9Ib9ChaUWCq2E_TTO04qVk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"cabfc201361677b678baaa61b97a3658","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:54Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.0614,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:54Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/758f2d28-0d57-45c2-995e-61707d8332b9","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/758f2d28-0d57-45c2-995e-61707d8332b9","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401714,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxNH0.kzuJjMlGmwXqc1TUBxVRT9Ib9ChaUWCq2E_TTO04qVk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cabfc201361677b678baaa61b97a3658"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/758f2d28-0d57-45c2-995e-61707d8332b9/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.031","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"cabfc201361677b678baaa61b97a3658"} device-1 | {"level":"info","message":"POST /devices/758f2d28-0d57-45c2-995e-61707d8332b9/websocket 200 24ms","method":"POST","requestID":"cabfc201361677b678baaa61b97a3658","responseTime":24,"status":200,"url":"/devices/758f2d28-0d57-45c2-995e-61707d8332b9/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/758f2d28-0d57-45c2-995e-61707d8332b9' connected"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"344c3df20f9c412bd1fbf3dd1a67c427","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2024:14:41:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4/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":"344c3df20f9c412bd1fbf3dd1a67c427"} device-1 | {"level":"info","message":"OPTIONS /devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4/websocket 200 2ms","method":"OPTIONS","requestID":"344c3df20f9c412bd1fbf3dd1a67c427","responseTime":2,"status":200,"url":"/devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxNn0.ZKVPY3H4H-mxe-eDeJ7dRjGDZNEBO-Lpjrx0cbY8Lo4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"752d23206046db5324d3e75bd978744c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.327737,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401716,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxNn0.ZKVPY3H4H-mxe-eDeJ7dRjGDZNEBO-Lpjrx0cbY8Lo4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"752d23206046db5324d3e75bd978744c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.039","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"752d23206046db5324d3e75bd978744c"} device-1 | {"level":"info","message":"POST /devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4/websocket 200 32ms","method":"POST","requestID":"752d23206046db5324d3e75bd978744c","responseTime":32,"status":200,"url":"/devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxNn0.ZKVPY3H4H-mxe-eDeJ7dRjGDZNEBO-Lpjrx0cbY8Lo4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"376ff06619133003c70f894cb6f623b0","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.441265,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401716,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxNn0.ZKVPY3H4H-mxe-eDeJ7dRjGDZNEBO-Lpjrx0cbY8Lo4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"376ff06619133003c70f894cb6f623b0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc400f4e5-fce0-4bfe-880d-b27c85222ab4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc400f4e5-fce0-4bfe-880d-b27c85222ab4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:54.164961546Z"}]},"request_id":"055c27c9-4952-403d-95ce-d217a62e4cf3","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401716.2605157} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"376ff06619133003c70f894cb6f623b0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"376ff06619133003c70f894cb6f623b0"} device-1 | {"level":"info","message":"GET /devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4? 200 20ms","method":"GET","requestID":"376ff06619133003c70f894cb6f623b0","responseTime":20,"status":200,"url":"/devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxNn0.ZKVPY3H4H-mxe-eDeJ7dRjGDZNEBO-Lpjrx0cbY8Lo4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"778718e06f794f2b91087ddeabdc1a40","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.475512,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/758f2d28-0d57-45c2-995e-61707d8332b9","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/758f2d28-0d57-45c2-995e-61707d8332b9","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401716,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxNn0.ZKVPY3H4H-mxe-eDeJ7dRjGDZNEBO-Lpjrx0cbY8Lo4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"778718e06f794f2b91087ddeabdc1a40"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F758f2d28-0d57-45c2-995e-61707d8332b9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F758f2d28-0d57-45c2-995e-61707d8332b9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:54.213775208Z"}]},"request_id":"22a30891-0b74-4f08-936b-22adca9146d6","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401716.2877154} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"778718e06f794f2b91087ddeabdc1a40"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/758f2d28-0d57-45c2-995e-61707d8332b9? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"778718e06f794f2b91087ddeabdc1a40"} device-1 | {"level":"info","message":"GET /devices/758f2d28-0d57-45c2-995e-61707d8332b9? 200 19ms","method":"GET","requestID":"778718e06f794f2b91087ddeabdc1a40","responseTime":19,"status":200,"url":"/devices/758f2d28-0d57-45c2-995e-61707d8332b9?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxNn0.ZKVPY3H4H-mxe-eDeJ7dRjGDZNEBO-Lpjrx0cbY8Lo4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"2de5b45f84bc4d20d5ad4c82be198642","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.175571,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401716,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxNn0.ZKVPY3H4H-mxe-eDeJ7dRjGDZNEBO-Lpjrx0cbY8Lo4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2de5b45f84bc4d20d5ad4c82be198642"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3723165-78f0-454e-9f62-8b25da80217e"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3723165-78f0-454e-9f62-8b25da80217e"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3723165-78f0-454e-9f62-8b25da80217e"},"level":"info","message":"Successfully booked experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.739246,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401716,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxNn0.ZKVPY3H4H-mxe-eDeJ7dRjGDZNEBO-Lpjrx0cbY8Lo4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a0905970-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.157174,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/758f2d28-0d57-45c2-995e-61707d8332b9","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/758f2d28-0d57-45c2-995e-61707d8332b9","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401716,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxNn0.ZKVPY3H4H-mxe-eDeJ7dRjGDZNEBO-Lpjrx0cbY8Lo4"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a090a790-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc400f4e5-fce0-4bfe-880d-b27c85222ab4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc400f4e5-fce0-4bfe-880d-b27c85222ab4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:54.164961546Z"}]},"request_id":"26190d30-d1f9-428c-bae7-ee4079684491","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401716.3742323} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a0905970-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F758f2d28-0d57-45c2-995e-61707d8332b9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F758f2d28-0d57-45c2-995e-61707d8332b9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:54.213775208Z"}]},"request_id":"7da18bfe-7e81-424d-a502-c3194f031c27","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401716.3769174} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a090a790-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4? 200 27ms","method":"GET","requestID":"a0905970-0636-11ef-8c83-05b823ec2e4f","responseTime":27,"status":200,"url":"/devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/758f2d28-0d57-45c2-995e-61707d8332b9? 200 26ms","method":"GET","requestID":"a090a790-0636-11ef-8c83-05b823ec2e4f","responseTime":26,"status":200,"url":"/devices/758f2d28-0d57-45c2-995e-61707d8332b9?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3723165-78f0-454e-9f62-8b25da80217e"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3723165-78f0-454e-9f62-8b25da80217e"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3723165-78f0-454e-9f62-8b25da80217e"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3723165-78f0-454e-9f62-8b25da80217e"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3723165-78f0-454e-9f62-8b25da80217e"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3723165-78f0-454e-9f62-8b25da80217e"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3723165-78f0-454e-9f62-8b25da80217e"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3723165-78f0-454e-9f62-8b25da80217e"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:56Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.207282,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:56Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3723165-78f0-454e-9f62-8b25da80217e"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401716,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxNn0.ZKVPY3H4H-mxe-eDeJ7dRjGDZNEBO-Lpjrx0cbY8Lo4"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a09dc6f0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.195015,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/758f2d28-0d57-45c2-995e-61707d8332b9","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/758f2d28-0d57-45c2-995e-61707d8332b9","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401716,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxNn0.ZKVPY3H4H-mxe-eDeJ7dRjGDZNEBO-Lpjrx0cbY8Lo4"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a09e1510-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc400f4e5-fce0-4bfe-880d-b27c85222ab4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"67f39819-6819-4a00-b3d8-52b2a1184a93","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401716.4622834} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.849536,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a09e8a40-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc400f4e5-fce0-4bfe-880d-b27c85222ab4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc400f4e5-fce0-4bfe-880d-b27c85222ab4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:54.164961546Z"}]},"request_id":"a28dda7b-0987-4fad-8463-acb049edc110","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401716.4665039} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F758f2d28-0d57-45c2-995e-61707d8332b9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F758f2d28-0d57-45c2-995e-61707d8332b9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:54.213775208Z"}]},"request_id":"69329b92-9f79-4366-9afd-5c3ac05e3fa3","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401716.4684513} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a09dc6f0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a09e1510-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa3723165-78f0-454e-9f62-8b25da80217e#owner@http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa3723165-78f0-454e-9f62-8b25da80217e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"d431d0d8-4686-4b35-9a1b-9d61965bbeb4","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401716.478092} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ded31976-5c28-417e-9ee0-83fb8e3a7554","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401716.4785893} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2de5b45f84bc4d20d5ad4c82be198642"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4? 200 36ms","method":"GET","requestID":"a09dc6f0-0636-11ef-8c83-05b823ec2e4f","responseTime":36,"status":200,"url":"/devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4/signaling 200 32ms","method":"POST","requestID":"a09e8a40-0636-11ef-8c83-05b823ec2e4f","responseTime":32,"status":200,"url":"/devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/758f2d28-0d57-45c2-995e-61707d8332b9? 200 36ms","method":"GET","requestID":"a09e1510-0636-11ef-8c83-05b823ec2e4f","responseTime":36,"status":200,"url":"/devices/758f2d28-0d57-45c2-995e-61707d8332b9?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F758f2d28-0d57-45c2-995e-61707d8332b9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6679bf35-7fd5-41ee-9cea-565fa916ed3d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401716.4959085} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:56Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/a3723165-78f0-454e-9f62-8b25da80217e","user":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment-1 | {"level":"info","message":"POST /experiments? 201 193ms","method":"POST","requestID":"2de5b45f84bc4d20d5ad4c82be198642","responseTime":193,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.905154,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/758f2d28-0d57-45c2-995e-61707d8332b9","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/758f2d28-0d57-45c2-995e-61707d8332b9","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":"29/Apr/2024:14:41:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.201","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2de5b45f84bc4d20d5ad4c82be198642"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a0a456a0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc400f4e5-fce0-4bfe-880d-b27c85222ab4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ab759911-2258-49b4-bf26-be43981a1273","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401716.5017343} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.720417,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:56Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxNn0.ZKVPY3H4H-mxe-eDeJ7dRjGDZNEBO-Lpjrx0cbY8Lo4","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"POST /devices/758f2d28-0d57-45c2-995e-61707d8332b9/signaling 200 14ms","method":"POST","requestID":"a0a456a0-0636-11ef-8c83-05b823ec2e4f","responseTime":14,"status":200,"url":"/devices/758f2d28-0d57-45c2-995e-61707d8332b9/signaling"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1b92e037c767db35c2ee1e76e3c2c7fb","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a0a4a4c0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.120967,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401716,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxNn0.ZKVPY3H4H-mxe-eDeJ7dRjGDZNEBO-Lpjrx0cbY8Lo4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1b92e037c767db35c2ee1e76e3c2c7fb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"POST /devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4/signaling 200 19ms","method":"POST","requestID":"a0a4a4c0-0636-11ef-8c83-05b823ec2e4f","responseTime":19,"status":200,"url":"/devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc400f4e5-fce0-4bfe-880d-b27c85222ab4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc400f4e5-fce0-4bfe-880d-b27c85222ab4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:54.164961546Z"}]},"request_id":"068fa41c-ebf9-44f3-a4d7-8f8e0178a6da","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401716.5164034} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1b92e037c767db35c2ee1e76e3c2c7fb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F758f2d28-0d57-45c2-995e-61707d8332b9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c2610c23-132a-4d5b-8cec-23060191003f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401716.519433} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.107474,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/758f2d28-0d57-45c2-995e-61707d8332b9","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/758f2d28-0d57-45c2-995e-61707d8332b9","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"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a0a80020-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} gateway-1 | {"time_local":"29/Apr/2024:14:41:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1b92e037c767db35c2ee1e76e3c2c7fb"} device-1 | {"level":"info","message":"GET /devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4? 200 17ms","method":"GET","requestID":"1b92e037c767db35c2ee1e76e3c2c7fb","responseTime":17,"status":200,"url":"/devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/758f2d28-0d57-45c2-995e-61707d8332b9/signaling 200 13ms","method":"POST","requestID":"a0a80020-0636-11ef-8c83-05b823ec2e4f","responseTime":13,"status":200,"url":"/devices/758f2d28-0d57-45c2-995e-61707d8332b9/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxNn0.ZKVPY3H4H-mxe-eDeJ7dRjGDZNEBO-Lpjrx0cbY8Lo4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cb3c0df4a3fdf14ed8c142972f0e3630","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3723165-78f0-454e-9f62-8b25da80217e"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3723165-78f0-454e-9f62-8b25da80217e"},"level":"info","message":"Building connection plan"} 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":"6a877cda-5399-42bb-ba2c-a07d7ce610c3"},{"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":"4d7ea9e8-ce74-4149-808e-288b0fb04ec3"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"378a72db-51d3-4b78-8277-ee0d42dd7456"}]},"level":"info","message":"Built pairwise service configurations"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} 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/c400f4e5-fce0-4bfe-880d-b27c85222ab4"},{"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/758f2d28-0d57-45c2-995e-61707d8332b9"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.311668,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/758f2d28-0d57-45c2-995e-61707d8332b9","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/758f2d28-0d57-45c2-995e-61707d8332b9","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401716,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxNn0.ZKVPY3H4H-mxe-eDeJ7dRjGDZNEBO-Lpjrx0cbY8Lo4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cb3c0df4a3fdf14ed8c142972f0e3630"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.249059,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401716,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxNn0.ZKVPY3H4H-mxe-eDeJ7dRjGDZNEBO-Lpjrx0cbY8Lo4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a0aa9830-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F758f2d28-0d57-45c2-995e-61707d8332b9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F758f2d28-0d57-45c2-995e-61707d8332b9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:54.213775208Z"}]},"request_id":"3c38fc8e-402d-4260-a98f-5735697a0af5","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401716.5396469} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cb3c0df4a3fdf14ed8c142972f0e3630"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/758f2d28-0d57-45c2-995e-61707d8332b9? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cb3c0df4a3fdf14ed8c142972f0e3630"} device-1 | {"level":"info","message":"GET /devices/758f2d28-0d57-45c2-995e-61707d8332b9? 200 19ms","method":"GET","requestID":"cb3c0df4a3fdf14ed8c142972f0e3630","responseTime":19,"status":200,"url":"/devices/758f2d28-0d57-45c2-995e-61707d8332b9?"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","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%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"9f6c8cf9-4a93-45ec-89fc-764e56c60f38","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401716.5495918} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6c35ea6f-50fb-40b3-af6e-fa660cc4659b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401716.5498114} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a0aa9830-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/8d1f72d4-2148-49f5-995a-f04258ea0d43'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/8d1f72d4-2148-49f5-995a-f04258ea0d43'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 47ms","method":"POST","requestID":"a0aa9830-0636-11ef-8c83-05b823ec2e4f","responseTime":47,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device-1 | {"data":{"peerconnection":"8d1f72d4-2148-49f5-995a-f04258ea0d43","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3723165-78f0-454e-9f62-8b25da80217e"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc400f4e5-fce0-4bfe-880d-b27c85222ab4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"580f9c63-f79c-4fbc-8170-c87f249648e6","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401716.6226199} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.447708,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a0b7b790-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4/signaling 200 11ms","method":"POST","requestID":"a0b7b790-0636-11ef-8c83-05b823ec2e4f","responseTime":11,"status":200,"url":"/devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F758f2d28-0d57-45c2-995e-61707d8332b9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2c6671d8-3a31-42c1-a3de-977233765f64","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401716.6354809} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.672693,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/758f2d28-0d57-45c2-995e-61707d8332b9","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/758f2d28-0d57-45c2-995e-61707d8332b9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a0b9b360-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/758f2d28-0d57-45c2-995e-61707d8332b9/signaling 200 12ms","method":"POST","requestID":"a0b9b360-0636-11ef-8c83-05b823ec2e4f","responseTime":12,"status":200,"url":"/devices/758f2d28-0d57-45c2-995e-61707d8332b9/signaling"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/8d1f72d4-2148-49f5-995a-f04258ea0d43' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8d1f72d4-2148-49f5-995a-f04258ea0d43","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"a62585fb0a08c9c4c4e58d3c8614b46b","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/c400f4e5-fce0-4bfe-880d-b27c85222ab4"},{"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/758f2d28-0d57-45c2-995e-61707d8332b9"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/8d1f72d4-2148-49f5-995a-f04258ea0d43"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"a62585fb0a08c9c4c4e58d3c8614b46b","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"a62585fb0a08c9c4c4e58d3c8614b46b"} device-1 | {"data":{"peerconnection":"8d1f72d4-2148-49f5-995a-f04258ea0d43","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"8d1f72d4-2148-49f5-995a-f04258ea0d43","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/8d1f72d4-2148-49f5-995a-f04258ea0d43' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8d1f72d4-2148-49f5-995a-f04258ea0d43","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e627a4d901efa5c2b2251c9a1d62518c","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/c400f4e5-fce0-4bfe-880d-b27c85222ab4"},{"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/758f2d28-0d57-45c2-995e-61707d8332b9"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/8d1f72d4-2148-49f5-995a-f04258ea0d43"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8d1f72d4-2148-49f5-995a-f04258ea0d43","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"87fa9f5c-9183-4472-baf7-bf2b25b32a1c","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401716.7100651} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.167485,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8d1f72d4-2148-49f5-995a-f04258ea0d43","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/8d1f72d4-2148-49f5-995a-f04258ea0d43","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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a0c54c20-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/8d1f72d4-2148-49f5-995a-f04258ea0d43 200 7ms","method":"GET","requestID":"a0c54c20-0636-11ef-8c83-05b823ec2e4f","responseTime":7,"status":200,"url":"/peerconnections/8d1f72d4-2148-49f5-995a-f04258ea0d43"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 25ms","method":"POST","requestID":"e627a4d901efa5c2b2251c9a1d62518c","responseTime":25,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.028","http_referrer":"","http_user_agent":"node-fetch","requestID":"e627a4d901efa5c2b2251c9a1d62518c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc400f4e5-fce0-4bfe-880d-b27c85222ab4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ec142d4a-86c9-4c91-8d1e-811acb4cffbe","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401716.7313483} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.192513,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a0c88070-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4/signaling 200 8ms","method":"POST","requestID":"a0c88070-0636-11ef-8c83-05b823ec2e4f","responseTime":8,"status":200,"url":"/devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F758f2d28-0d57-45c2-995e-61707d8332b9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"89020198-35a0-4b51-b210-c1119b2af772","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401716.742009} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.798754,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/758f2d28-0d57-45c2-995e-61707d8332b9","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/758f2d28-0d57-45c2-995e-61707d8332b9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a0ca0710-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/758f2d28-0d57-45c2-995e-61707d8332b9/signaling 200 9ms","method":"POST","requestID":"a0ca0710-0636-11ef-8c83-05b823ec2e4f","responseTime":9,"status":200,"url":"/devices/758f2d28-0d57-45c2-995e-61707d8332b9/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxNn0.ZKVPY3H4H-mxe-eDeJ7dRjGDZNEBO-Lpjrx0cbY8Lo4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"78028d3ab1f29f4bc4ace9b827cddddc","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a3723165-78f0-454e-9f62-8b25da80217e"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.298648,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a3723165-78f0-454e-9f62-8b25da80217e","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/a3723165-78f0-454e-9f62-8b25da80217e","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401716,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxNn0.ZKVPY3H4H-mxe-eDeJ7dRjGDZNEBO-Lpjrx0cbY8Lo4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"78028d3ab1f29f4bc4ace9b827cddddc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/a3723165-78f0-454e-9f62-8b25da80217e"} gateway-1 | {"time_local":"29/Apr/2024:14:41:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a3723165-78f0-454e-9f62-8b25da80217e HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"78028d3ab1f29f4bc4ace9b827cddddc"} experiment-1 | {"level":"info","message":"GET /experiments/a3723165-78f0-454e-9f62-8b25da80217e 200 16ms","method":"GET","requestID":"78028d3ab1f29f4bc4ace9b827cddddc","responseTime":16,"status":200,"url":"/experiments/a3723165-78f0-454e-9f62-8b25da80217e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxNn0.ZKVPY3H4H-mxe-eDeJ7dRjGDZNEBO-Lpjrx0cbY8Lo4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"ffc744067b6e46271bd657f3f964e987","responseTime":7,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/a3723165-78f0-454e-9f62-8b25da80217e"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.14925,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a3723165-78f0-454e-9f62-8b25da80217e","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/a3723165-78f0-454e-9f62-8b25da80217e","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401716,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxNn0.ZKVPY3H4H-mxe-eDeJ7dRjGDZNEBO-Lpjrx0cbY8Lo4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ffc744067b6e46271bd657f3f964e987"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3723165-78f0-454e-9f62-8b25da80217e"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.173311,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8d1f72d4-2148-49f5-995a-f04258ea0d43","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:http://localhost/peerconnections/8d1f72d4-2148-49f5-995a-f04258ea0d43","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401716,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxNn0.ZKVPY3H4H-mxe-eDeJ7dRjGDZNEBO-Lpjrx0cbY8Lo4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a0daa8e0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/8d1f72d4-2148-49f5-995a-f04258ea0d43' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/8d1f72d4-2148-49f5-995a-f04258ea0d43' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8d1f72d4-2148-49f5-995a-f04258ea0d43","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8d1f72d4-2148-49f5-995a-f04258ea0d43': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8d1f72d4-2148-49f5-995a-f04258ea0d43","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"81f551d2-6410-40bc-b9cf-6f600164efe7","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401716.8722947} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7054908e-838a-45ca-bd70-7b73aa6ab472","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401716.8730752} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a0daa8e0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"e73b86261423209b50bedeee558f8859","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/c400f4e5-fce0-4bfe-880d-b27c85222ab4"},{"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/758f2d28-0d57-45c2-995e-61707d8332b9"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8d1f72d4-2148-49f5-995a-f04258ea0d43"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4c206589fe6c70ad595aefb29249ef9f","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/c400f4e5-fce0-4bfe-880d-b27c85222ab4"},{"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/758f2d28-0d57-45c2-995e-61707d8332b9"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8d1f72d4-2148-49f5-995a-f04258ea0d43"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/8d1f72d4-2148-49f5-995a-f04258ea0d43 204 46ms","method":"DELETE","requestID":"a0daa8e0-0636-11ef-8c83-05b823ec2e4f","responseTime":46,"status":204,"url":"/peerconnections/8d1f72d4-2148-49f5-995a-f04258ea0d43"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3723165-78f0-454e-9f62-8b25da80217e"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc400f4e5-fce0-4bfe-880d-b27c85222ab4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d1255c48-b4cc-4058-8e1e-7afc9aba8bab","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401716.9269295} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.160828,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a0e55740-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4/signaling 200 17ms","method":"POST","requestID":"a0e55740-0636-11ef-8c83-05b823ec2e4f","responseTime":17,"status":200,"url":"/devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4/signaling"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa3723165-78f0-454e-9f62-8b25da80217e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa3723165-78f0-454e-9f62-8b25da80217e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"6e533162-b770-40b1-9efe-ae963e33a36a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401716.9363706} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"421e6706-9e7f-47cf-8b50-63f88de4f175","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401716.9366574} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ffc744067b6e46271bd657f3f964e987"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":22}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F758f2d28-0d57-45c2-995e-61707d8332b9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"be19f2c9-d336-4f04-ad6c-1ee885038ed1","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401716.943757} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.656437,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/758f2d28-0d57-45c2-995e-61707d8332b9","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/758f2d28-0d57-45c2-995e-61707d8332b9","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a0e88b90-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/758f2d28-0d57-45c2-995e-61707d8332b9/signaling 200 13ms","method":"POST","requestID":"a0e88b90-0636-11ef-8c83-05b823ec2e4f","responseTime":13,"status":200,"url":"/devices/758f2d28-0d57-45c2-995e-61707d8332b9/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/a3723165-78f0-454e-9f62-8b25da80217e"} gateway-1 | {"time_local":"29/Apr/2024:14:41:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/a3723165-78f0-454e-9f62-8b25da80217e HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.179","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ffc744067b6e46271bd657f3f964e987"} experiment-1 | {"level":"info","message":"DELETE /experiments/a3723165-78f0-454e-9f62-8b25da80217e 204 171ms","method":"DELETE","requestID":"ffc744067b6e46271bd657f3f964e987","responseTime":171,"status":204,"url":"/experiments/a3723165-78f0-454e-9f62-8b25da80217e"} gateway-1 | {"time_local":"29/Apr/2024:14:41:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2251","request_time":"2.222","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"672463b485fa21be0b6b725237929493"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 124ms","method":"POST","requestID":"e73b86261423209b50bedeee558f8859","responseTime":124,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.129","http_referrer":"","http_user_agent":"node-fetch","requestID":"e73b86261423209b50bedeee558f8859"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 123ms","method":"POST","requestID":"4c206589fe6c70ad595aefb29249ef9f","responseTime":123,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.130","http_referrer":"","http_user_agent":"node-fetch","requestID":"4c206589fe6c70ad595aefb29249ef9f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxN30.D8XO-l9IKFq0Xd6gLx-cxz19yNqYhyhPJBGCKHTJV38","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"020c8bb0fc663e6df0ba0467ce11113d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"29/Apr/2024:14:41:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2201","request_time":"0.788","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"40eebf523f152d24d6e586ec40010bac"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:57Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.955731,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401717,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxN30.D8XO-l9IKFq0Xd6gLx-cxz19yNqYhyhPJBGCKHTJV38"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"020c8bb0fc663e6df0ba0467ce11113d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/758f2d28-0d57-45c2-995e-61707d8332b9' 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:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff474f263-5a15-496e-9f8e-11e5c498fb79","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0c2363c6-bfbe-43cc-92bc-82956ff71bc3","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401717.0313444} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"020c8bb0fc663e6df0ba0467ce11113d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c400f4e5-fce0-4bfe-880d-b27c85222ab4' 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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4a8fad0d-05e1-4d46-8144-c79aaf38f4bf","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401717.0371387} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"020c8bb0fc663e6df0ba0467ce11113d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff474f263-5a15-496e-9f8e-11e5c498fb79","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"8c580124-9631-4de9-893f-3b306ecbea46","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401717.0471356} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"630bd75e-0c5e-4a78-b708-58a083604dab","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401717.0472107} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"020c8bb0fc663e6df0ba0467ce11113d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff474f263-5a15-496e-9f8e-11e5c498fb79","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff474f263-5a15-496e-9f8e-11e5c498fb79","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:57.047106397Z"}]},"request_id":"d0215ef7-085a-454b-8127-85aed851d064","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401717.0517573} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"020c8bb0fc663e6df0ba0467ce11113d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"020c8bb0fc663e6df0ba0467ce11113d"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"020c8bb0fc663e6df0ba0467ce11113d","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxN30.D8XO-l9IKFq0Xd6gLx-cxz19yNqYhyhPJBGCKHTJV38","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e069a43dd6800420a88f4aa4615fc9fb","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:57Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.721406,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401717,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxN30.D8XO-l9IKFq0Xd6gLx-cxz19yNqYhyhPJBGCKHTJV38"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e069a43dd6800420a88f4aa4615fc9fb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1916377-4752-451b-9f80-75ebdd1c70a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a1fb0489-111a-4ba4-8867-fae03904ed52","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401717.077052} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e069a43dd6800420a88f4aa4615fc9fb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"54ee0a2b-a857-41ca-abbc-4198f9800631","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401717.0818865} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e069a43dd6800420a88f4aa4615fc9fb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1916377-4752-451b-9f80-75ebdd1c70a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"9cf03daa-0f16-484e-91ae-12ab766280b3","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401717.0936155} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c2040fb0-6877-4f2a-81f7-18452453f461","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401717.0938885} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e069a43dd6800420a88f4aa4615fc9fb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1916377-4752-451b-9f80-75ebdd1c70a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1916377-4752-451b-9f80-75ebdd1c70a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:57.093595206Z"}]},"request_id":"1024821b-1344-4857-b569-772200f80253","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401717.0982728} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e069a43dd6800420a88f4aa4615fc9fb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e069a43dd6800420a88f4aa4615fc9fb"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"e069a43dd6800420a88f4aa4615fc9fb","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxN30.D8XO-l9IKFq0Xd6gLx-cxz19yNqYhyhPJBGCKHTJV38","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1fe5ad384578cacf6572f85f9835dab5","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:57Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.689543,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1916377-4752-451b-9f80-75ebdd1c70a2","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/d1916377-4752-451b-9f80-75ebdd1c70a2","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401717,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxN30.D8XO-l9IKFq0Xd6gLx-cxz19yNqYhyhPJBGCKHTJV38"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1fe5ad384578cacf6572f85f9835dab5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1916377-4752-451b-9f80-75ebdd1c70a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1916377-4752-451b-9f80-75ebdd1c70a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:57.093595206Z"}]},"request_id":"02029428-dca1-4e81-b872-b82ffbf074c9","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401717.5903473} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1fe5ad384578cacf6572f85f9835dab5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e9aba425-1f72-4d56-92bb-927edc1c0757","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401717.598465} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1fe5ad384578cacf6572f85f9835dab5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1916377-4752-451b-9f80-75ebdd1c70a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1916377-4752-451b-9f80-75ebdd1c70a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:57.093595206Z"}]},"request_id":"2117defd-5218-466b-bb85-c35e7d55ea2b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401717.6174543} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1fe5ad384578cacf6572f85f9835dab5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/d1916377-4752-451b-9f80-75ebdd1c70a2 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.050","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"1fe5ad384578cacf6572f85f9835dab5"} device-1 | {"level":"info","message":"PATCH /devices/d1916377-4752-451b-9f80-75ebdd1c70a2 200 46ms","method":"PATCH","requestID":"1fe5ad384578cacf6572f85f9835dab5","responseTime":46,"status":200,"url":"/devices/d1916377-4752-451b-9f80-75ebdd1c70a2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxN30.D8XO-l9IKFq0Xd6gLx-cxz19yNqYhyhPJBGCKHTJV38","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3f29329ec57b704e34ca8dc516791217","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:57Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.643316,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1916377-4752-451b-9f80-75ebdd1c70a2","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/d1916377-4752-451b-9f80-75ebdd1c70a2","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401717,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxN30.D8XO-l9IKFq0Xd6gLx-cxz19yNqYhyhPJBGCKHTJV38"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3f29329ec57b704e34ca8dc516791217"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d1916377-4752-451b-9f80-75ebdd1c70a2/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"3f29329ec57b704e34ca8dc516791217"} device-1 | {"level":"info","message":"POST /devices/d1916377-4752-451b-9f80-75ebdd1c70a2/websocket 200 21ms","method":"POST","requestID":"3f29329ec57b704e34ca8dc516791217","responseTime":21,"status":200,"url":"/devices/d1916377-4752-451b-9f80-75ebdd1c70a2/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d1916377-4752-451b-9f80-75ebdd1c70a2' connected"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3df74204df7d742cb8674ce3e11b70db","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2024:14:41:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/f474f263-5a15-496e-9f8e-11e5c498fb79/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":"3df74204df7d742cb8674ce3e11b70db"} device-1 | {"level":"info","message":"OPTIONS /devices/f474f263-5a15-496e-9f8e-11e5c498fb79/websocket 200 1ms","method":"OPTIONS","requestID":"3df74204df7d742cb8674ce3e11b70db","responseTime":1,"status":200,"url":"/devices/f474f263-5a15-496e-9f8e-11e5c498fb79/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxOX0.CiIySvy-JJhZfQCjYyGpefvNteCff58nOBzj6ueLQBY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9cfd08cae76cba30379cce39307a8f14","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.28573,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f474f263-5a15-496e-9f8e-11e5c498fb79","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/f474f263-5a15-496e-9f8e-11e5c498fb79","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401719,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxOX0.CiIySvy-JJhZfQCjYyGpefvNteCff58nOBzj6ueLQBY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9cfd08cae76cba30379cce39307a8f14"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/f474f263-5a15-496e-9f8e-11e5c498fb79/websocket 200 37ms","method":"POST","requestID":"9cfd08cae76cba30379cce39307a8f14","responseTime":37,"status":200,"url":"/devices/f474f263-5a15-496e-9f8e-11e5c498fb79/websocket"} gateway-1 | {"time_local":"29/Apr/2024:14:41:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f474f263-5a15-496e-9f8e-11e5c498fb79/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":"9cfd08cae76cba30379cce39307a8f14"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f474f263-5a15-496e-9f8e-11e5c498fb79' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxOX0.CiIySvy-JJhZfQCjYyGpefvNteCff58nOBzj6ueLQBY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5ae19ffbe7193cdcf3efeb4646a0795a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.645761,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f474f263-5a15-496e-9f8e-11e5c498fb79","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/f474f263-5a15-496e-9f8e-11e5c498fb79","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401719,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxOX0.CiIySvy-JJhZfQCjYyGpefvNteCff58nOBzj6ueLQBY"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5ae19ffbe7193cdcf3efeb4646a0795a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff474f263-5a15-496e-9f8e-11e5c498fb79","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff474f263-5a15-496e-9f8e-11e5c498fb79","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:57.047106397Z"}]},"request_id":"16b7a65e-0cbc-41e0-80b7-b514aaf1abc3","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401719.1708126} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5ae19ffbe7193cdcf3efeb4646a0795a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/f474f263-5a15-496e-9f8e-11e5c498fb79? 200 25ms","method":"GET","requestID":"5ae19ffbe7193cdcf3efeb4646a0795a","responseTime":25,"status":200,"url":"/devices/f474f263-5a15-496e-9f8e-11e5c498fb79?"} gateway-1 | {"time_local":"29/Apr/2024:14:41:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f474f263-5a15-496e-9f8e-11e5c498fb79? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5ae19ffbe7193cdcf3efeb4646a0795a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxOX0.CiIySvy-JJhZfQCjYyGpefvNteCff58nOBzj6ueLQBY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"1d2b3ca5cc50c04589954ad6dc186868","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.14765,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1916377-4752-451b-9f80-75ebdd1c70a2","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/d1916377-4752-451b-9f80-75ebdd1c70a2","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401719,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxOX0.CiIySvy-JJhZfQCjYyGpefvNteCff58nOBzj6ueLQBY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1d2b3ca5cc50c04589954ad6dc186868"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1916377-4752-451b-9f80-75ebdd1c70a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1916377-4752-451b-9f80-75ebdd1c70a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:57.093595206Z"}]},"request_id":"1e65dacb-3349-41be-9231-31065f224431","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401719.205119} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1d2b3ca5cc50c04589954ad6dc186868"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d1916377-4752-451b-9f80-75ebdd1c70a2? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1d2b3ca5cc50c04589954ad6dc186868"} device-1 | {"level":"info","message":"GET /devices/d1916377-4752-451b-9f80-75ebdd1c70a2? 200 20ms","method":"GET","requestID":"1d2b3ca5cc50c04589954ad6dc186868","responseTime":20,"status":200,"url":"/devices/d1916377-4752-451b-9f80-75ebdd1c70a2?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxOX0.CiIySvy-JJhZfQCjYyGpefvNteCff58nOBzj6ueLQBY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"be8c55716244e50803ddbd08e5900490","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.192476,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401719,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxOX0.CiIySvy-JJhZfQCjYyGpefvNteCff58nOBzj6ueLQBY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"be8c55716244e50803ddbd08e5900490"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a0e07c14-acaf-441f-9134-0528a33b086d"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a0e07c14-acaf-441f-9134-0528a33b086d"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a0e07c14-acaf-441f-9134-0528a33b086d"},"level":"info","message":"Successfully booked experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.791596,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f474f263-5a15-496e-9f8e-11e5c498fb79","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/f474f263-5a15-496e-9f8e-11e5c498fb79","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401719,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxOX0.CiIySvy-JJhZfQCjYyGpefvNteCff58nOBzj6ueLQBY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a24eab40-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.963684,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1916377-4752-451b-9f80-75ebdd1c70a2","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/d1916377-4752-451b-9f80-75ebdd1c70a2","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401719,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxOX0.CiIySvy-JJhZfQCjYyGpefvNteCff58nOBzj6ueLQBY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a24ef960-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff474f263-5a15-496e-9f8e-11e5c498fb79","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff474f263-5a15-496e-9f8e-11e5c498fb79","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:57.047106397Z"}]},"request_id":"5a340cd4-b799-4767-9808-996179e07cd4","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401719.2968268} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a24eab40-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1916377-4752-451b-9f80-75ebdd1c70a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1916377-4752-451b-9f80-75ebdd1c70a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:57.093595206Z"}]},"request_id":"5aaca740-62de-4e2f-8a89-c4eeb93ab633","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401719.298245} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a24ef960-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/f474f263-5a15-496e-9f8e-11e5c498fb79? 200 20ms","method":"GET","requestID":"a24eab40-0636-11ef-8c83-05b823ec2e4f","responseTime":20,"status":200,"url":"/devices/f474f263-5a15-496e-9f8e-11e5c498fb79?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/d1916377-4752-451b-9f80-75ebdd1c70a2? 200 19ms","method":"GET","requestID":"a24ef960-0636-11ef-8c83-05b823ec2e4f","responseTime":19,"status":200,"url":"/devices/d1916377-4752-451b-9f80-75ebdd1c70a2?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a0e07c14-acaf-441f-9134-0528a33b086d"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a0e07c14-acaf-441f-9134-0528a33b086d"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a0e07c14-acaf-441f-9134-0528a33b086d"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a0e07c14-acaf-441f-9134-0528a33b086d"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a0e07c14-acaf-441f-9134-0528a33b086d"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a0e07c14-acaf-441f-9134-0528a33b086d"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a0e07c14-acaf-441f-9134-0528a33b086d"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a0e07c14-acaf-441f-9134-0528a33b086d"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:59Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.815335,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:59Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a0e07c14-acaf-441f-9134-0528a33b086d"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f474f263-5a15-496e-9f8e-11e5c498fb79","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/f474f263-5a15-496e-9f8e-11e5c498fb79","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401719,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxOX0.CiIySvy-JJhZfQCjYyGpefvNteCff58nOBzj6ueLQBY"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a25a6b10-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.247253,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1916377-4752-451b-9f80-75ebdd1c70a2","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/d1916377-4752-451b-9f80-75ebdd1c70a2","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401719,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxOX0.CiIySvy-JJhZfQCjYyGpefvNteCff58nOBzj6ueLQBY"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a25ab930-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.306698,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff474f263-5a15-496e-9f8e-11e5c498fb79","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3b45eb2d-e795-4a17-9a74-d3288aeb1281","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401719.3772144} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f474f263-5a15-496e-9f8e-11e5c498fb79","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f474f263-5a15-496e-9f8e-11e5c498fb79","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a25b2e60-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff474f263-5a15-496e-9f8e-11e5c498fb79","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff474f263-5a15-496e-9f8e-11e5c498fb79","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:57.047106397Z"}]},"request_id":"865b3168-f4b4-498b-b393-cf1be785828f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401719.3817651} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a25a6b10-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1916377-4752-451b-9f80-75ebdd1c70a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1916377-4752-451b-9f80-75ebdd1c70a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:57.093595206Z"}]},"request_id":"6821abf3-ea97-4e8d-b6c6-9c43c265ec07","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401719.3861477} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a25ab930-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/f474f263-5a15-496e-9f8e-11e5c498fb79/signaling 200 25ms","method":"POST","requestID":"a25b2e60-0636-11ef-8c83-05b823ec2e4f","responseTime":25,"status":200,"url":"/devices/f474f263-5a15-496e-9f8e-11e5c498fb79/signaling"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa0e07c14-acaf-441f-9134-0528a33b086d#owner@http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa0e07c14-acaf-441f-9134-0528a33b086d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"d581e0bf-7154-4c3d-8b99-d296cf809ff3","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401719.3925874} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f8bf370b-7b56-47bb-9261-a651e9734750","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401719.3937929} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"be8c55716244e50803ddbd08e5900490"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/f474f263-5a15-496e-9f8e-11e5c498fb79? 200 40ms","method":"GET","requestID":"a25a6b10-0636-11ef-8c83-05b823ec2e4f","responseTime":40,"status":200,"url":"/devices/f474f263-5a15-496e-9f8e-11e5c498fb79?"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:59Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/d1916377-4752-451b-9f80-75ebdd1c70a2? 200 40ms","method":"GET","requestID":"a25ab930-0636-11ef-8c83-05b823ec2e4f","responseTime":40,"status":200,"url":"/devices/d1916377-4752-451b-9f80-75ebdd1c70a2?"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1916377-4752-451b-9f80-75ebdd1c70a2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"39046208-94f8-4c3f-b520-d232fbd2c291","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401719.4037826} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.800172,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1916377-4752-451b-9f80-75ebdd1c70a2","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d1916377-4752-451b-9f80-75ebdd1c70a2","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a25fc240-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/a0e07c14-acaf-441f-9134-0528a33b086d","user":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"29/Apr/2024:14:41:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.196","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"be8c55716244e50803ddbd08e5900490"} experiment-1 | {"level":"info","message":"POST /experiments? 201 191ms","method":"POST","requestID":"be8c55716244e50803ddbd08e5900490","responseTime":191,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d1916377-4752-451b-9f80-75ebdd1c70a2/signaling 200 18ms","method":"POST","requestID":"a25fc240-0636-11ef-8c83-05b823ec2e4f","responseTime":18,"status":200,"url":"/devices/d1916377-4752-451b-9f80-75ebdd1c70a2/signaling"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:59Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxOX0.CiIySvy-JJhZfQCjYyGpefvNteCff58nOBzj6ueLQBY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a56b1aa45245d7710049672fbb9ef848","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff474f263-5a15-496e-9f8e-11e5c498fb79","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6c74a714-2bbd-4e76-961b-fa683cfbbbff","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401719.4186983} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.106828,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f474f263-5a15-496e-9f8e-11e5c498fb79","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f474f263-5a15-496e-9f8e-11e5c498fb79","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a2623340-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:59Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.889741,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:59Z"} device-1 | {"level":"info","message":"POST /devices/f474f263-5a15-496e-9f8e-11e5c498fb79/signaling 200 12ms","method":"POST","requestID":"a2623340-0636-11ef-8c83-05b823ec2e4f","responseTime":12,"status":200,"url":"/devices/f474f263-5a15-496e-9f8e-11e5c498fb79/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f474f263-5a15-496e-9f8e-11e5c498fb79","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/f474f263-5a15-496e-9f8e-11e5c498fb79","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401719,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxOX0.CiIySvy-JJhZfQCjYyGpefvNteCff58nOBzj6ueLQBY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a56b1aa45245d7710049672fbb9ef848"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1916377-4752-451b-9f80-75ebdd1c70a2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7906641f-5f63-4afa-b3b2-8314ddef93f7","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401719.4313662} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff474f263-5a15-496e-9f8e-11e5c498fb79","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff474f263-5a15-496e-9f8e-11e5c498fb79","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:57.047106397Z"}]},"request_id":"20ddf2f0-5fcc-4a23-a10e-51a59e848611","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401719.431906} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a56b1aa45245d7710049672fbb9ef848"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.940521,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1916377-4752-451b-9f80-75ebdd1c70a2","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d1916377-4752-451b-9f80-75ebdd1c70a2","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a2645620-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/f474f263-5a15-496e-9f8e-11e5c498fb79? 200 19ms","method":"GET","requestID":"a56b1aa45245d7710049672fbb9ef848","responseTime":19,"status":200,"url":"/devices/f474f263-5a15-496e-9f8e-11e5c498fb79?"} gateway-1 | {"time_local":"29/Apr/2024:14:41:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f474f263-5a15-496e-9f8e-11e5c498fb79? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a56b1aa45245d7710049672fbb9ef848"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d1916377-4752-451b-9f80-75ebdd1c70a2/signaling 200 12ms","method":"POST","requestID":"a2645620-0636-11ef-8c83-05b823ec2e4f","responseTime":12,"status":200,"url":"/devices/d1916377-4752-451b-9f80-75ebdd1c70a2/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a0e07c14-acaf-441f-9134-0528a33b086d"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a0e07c14-acaf-441f-9134-0528a33b086d"},"level":"info","message":"Building connection plan"} 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":"67670d79-ad81-4541-be7b-d60d7c01c6ad"},{"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":"35725dc0-1741-43d8-ad25-e27261f0875d"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"5e251f51-7bb5-445a-af81-98b7b3961522"}]},"level":"info","message":"Built pairwise service configurations"} 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/f474f263-5a15-496e-9f8e-11e5c498fb79"},{"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/d1916377-4752-451b-9f80-75ebdd1c70a2"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxOX0.CiIySvy-JJhZfQCjYyGpefvNteCff58nOBzj6ueLQBY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d3461f7058366d555456c48eedb6336f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.693509,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401719,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxOX0.CiIySvy-JJhZfQCjYyGpefvNteCff58nOBzj6ueLQBY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a266a010-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.659191,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1916377-4752-451b-9f80-75ebdd1c70a2","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/d1916377-4752-451b-9f80-75ebdd1c70a2","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401719,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxOX0.CiIySvy-JJhZfQCjYyGpefvNteCff58nOBzj6ueLQBY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d3461f7058366d555456c48eedb6336f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1916377-4752-451b-9f80-75ebdd1c70a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1916377-4752-451b-9f80-75ebdd1c70a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:57.093595206Z"}]},"request_id":"9289b407-faf2-480b-ac53-d4d0b24a931f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401719.4516978} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d3461f7058366d555456c48eedb6336f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d1916377-4752-451b-9f80-75ebdd1c70a2? 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":"d3461f7058366d555456c48eedb6336f"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","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%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"1ca5d972-752e-4bba-8e3b-c234c20199fb","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401719.4556413} device-1 | {"level":"info","message":"GET /devices/d1916377-4752-451b-9f80-75ebdd1c70a2? 200 12ms","method":"GET","requestID":"d3461f7058366d555456c48eedb6336f","responseTime":12,"status":200,"url":"/devices/d1916377-4752-451b-9f80-75ebdd1c70a2?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"885496f3-c9e4-4a21-8f09-151ef76403df","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401719.455912} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a266a010-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/a09aca92-8ae3-44a1-b9fd-ae238038cebb'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/a09aca92-8ae3-44a1-b9fd-ae238038cebb'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 38ms","method":"POST","requestID":"a266a010-0636-11ef-8c83-05b823ec2e4f","responseTime":38,"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"} device-1 | {"data":{"peerconnection":"a09aca92-8ae3-44a1-b9fd-ae238038cebb","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a0e07c14-acaf-441f-9134-0528a33b086d"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff474f263-5a15-496e-9f8e-11e5c498fb79","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"883ec8a7-aa70-4c31-95ce-f6a069751bfe","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401719.5173252} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.666399,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f474f263-5a15-496e-9f8e-11e5c498fb79","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f474f263-5a15-496e-9f8e-11e5c498fb79","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a2717580-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/f474f263-5a15-496e-9f8e-11e5c498fb79/signaling 200 10ms","method":"POST","requestID":"a2717580-0636-11ef-8c83-05b823ec2e4f","responseTime":10,"status":200,"url":"/devices/f474f263-5a15-496e-9f8e-11e5c498fb79/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:59Z"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a09aca92-8ae3-44a1-b9fd-ae238038cebb' to 'http://localhost/callbacks/experiment'"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1916377-4752-451b-9f80-75ebdd1c70a2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3474a59f-936f-4276-8829-cee363047aa6","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401719.5296655} device-1 | {"data":{"peerconnection":"a09aca92-8ae3-44a1-b9fd-ae238038cebb","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.925466,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1916377-4752-451b-9f80-75ebdd1c70a2","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d1916377-4752-451b-9f80-75ebdd1c70a2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a2734a40-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c6ab9c22fe697084b5e26b539e98a7c4","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/f474f263-5a15-496e-9f8e-11e5c498fb79"},{"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/d1916377-4752-451b-9f80-75ebdd1c70a2"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/a09aca92-8ae3-44a1-b9fd-ae238038cebb"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d1916377-4752-451b-9f80-75ebdd1c70a2/signaling 200 14ms","method":"POST","requestID":"a2734a40-0636-11ef-8c83-05b823ec2e4f","responseTime":14,"status":200,"url":"/devices/d1916377-4752-451b-9f80-75ebdd1c70a2/signaling"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"c6ab9c22fe697084b5e26b539e98a7c4","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"c6ab9c22fe697084b5e26b539e98a7c4"} device-1 | {"data":{"peerconnection":"a09aca92-8ae3-44a1-b9fd-ae238038cebb","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"a09aca92-8ae3-44a1-b9fd-ae238038cebb","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/a09aca92-8ae3-44a1-b9fd-ae238038cebb' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a09aca92-8ae3-44a1-b9fd-ae238038cebb","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5a64e61a9aec7365dcd0c417be355ced","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/f474f263-5a15-496e-9f8e-11e5c498fb79"},{"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/d1916377-4752-451b-9f80-75ebdd1c70a2"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/a09aca92-8ae3-44a1-b9fd-ae238038cebb"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa09aca92-8ae3-44a1-b9fd-ae238038cebb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"28b4a215-fd04-4b20-a89f-69eb8c8ed33e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401719.6026514} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.229634,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a09aca92-8ae3-44a1-b9fd-ae238038cebb","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/a09aca92-8ae3-44a1-b9fd-ae238038cebb","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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a27e94e0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/a09aca92-8ae3-44a1-b9fd-ae238038cebb 200 8ms","method":"GET","requestID":"a27e94e0-0636-11ef-8c83-05b823ec2e4f","responseTime":8,"status":200,"url":"/peerconnections/a09aca92-8ae3-44a1-b9fd-ae238038cebb"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 30ms","method":"POST","requestID":"5a64e61a9aec7365dcd0c417be355ced","responseTime":30,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.033","http_referrer":"","http_user_agent":"node-fetch","requestID":"5a64e61a9aec7365dcd0c417be355ced"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff474f263-5a15-496e-9f8e-11e5c498fb79","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d15ac639-5289-413a-aed4-236624901155","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401719.6294212} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.333416,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f474f263-5a15-496e-9f8e-11e5c498fb79","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f474f263-5a15-496e-9f8e-11e5c498fb79","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a2828c80-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/f474f263-5a15-496e-9f8e-11e5c498fb79/signaling 200 10ms","method":"POST","requestID":"a2828c80-0636-11ef-8c83-05b823ec2e4f","responseTime":10,"status":200,"url":"/devices/f474f263-5a15-496e-9f8e-11e5c498fb79/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1916377-4752-451b-9f80-75ebdd1c70a2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cc8581cc-4c77-49d1-84d8-f826d547a330","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401719.641339} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.272607,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1916377-4752-451b-9f80-75ebdd1c70a2","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d1916377-4752-451b-9f80-75ebdd1c70a2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a2848850-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d1916377-4752-451b-9f80-75ebdd1c70a2/signaling 200 10ms","method":"POST","requestID":"a2848850-0636-11ef-8c83-05b823ec2e4f","responseTime":10,"status":200,"url":"/devices/d1916377-4752-451b-9f80-75ebdd1c70a2/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxOX0.CiIySvy-JJhZfQCjYyGpefvNteCff58nOBzj6ueLQBY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"975b13232c068bf1bf1e4b0d6f22252b","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a0e07c14-acaf-441f-9134-0528a33b086d"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.142301,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a0e07c14-acaf-441f-9134-0528a33b086d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/a0e07c14-acaf-441f-9134-0528a33b086d","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401719,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxOX0.CiIySvy-JJhZfQCjYyGpefvNteCff58nOBzj6ueLQBY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"975b13232c068bf1bf1e4b0d6f22252b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/a0e07c14-acaf-441f-9134-0528a33b086d"} gateway-1 | {"time_local":"29/Apr/2024:14:41:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a0e07c14-acaf-441f-9134-0528a33b086d HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"975b13232c068bf1bf1e4b0d6f22252b"} experiment-1 | {"level":"info","message":"GET /experiments/a0e07c14-acaf-441f-9134-0528a33b086d 200 13ms","method":"GET","requestID":"975b13232c068bf1bf1e4b0d6f22252b","responseTime":13,"status":200,"url":"/experiments/a0e07c14-acaf-441f-9134-0528a33b086d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxOX0.CiIySvy-JJhZfQCjYyGpefvNteCff58nOBzj6ueLQBY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c76b6c861a295094dfb25f11f3ea5b5b","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/a0e07c14-acaf-441f-9134-0528a33b086d"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.176201,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a0e07c14-acaf-441f-9134-0528a33b086d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/a0e07c14-acaf-441f-9134-0528a33b086d","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401719,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxOX0.CiIySvy-JJhZfQCjYyGpefvNteCff58nOBzj6ueLQBY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c76b6c861a295094dfb25f11f3ea5b5b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a0e07c14-acaf-441f-9134-0528a33b086d"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.25982,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a09aca92-8ae3-44a1-b9fd-ae238038cebb","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:http://localhost/peerconnections/a09aca92-8ae3-44a1-b9fd-ae238038cebb","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401719,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxOX0.CiIySvy-JJhZfQCjYyGpefvNteCff58nOBzj6ueLQBY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a292b920-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a09aca92-8ae3-44a1-b9fd-ae238038cebb' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/a09aca92-8ae3-44a1-b9fd-ae238038cebb' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a09aca92-8ae3-44a1-b9fd-ae238038cebb","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa09aca92-8ae3-44a1-b9fd-ae238038cebb': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa09aca92-8ae3-44a1-b9fd-ae238038cebb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"ba1933d3-e255-47f0-89f3-a32a5112d52d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401719.7527227} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"feff52d871435e857404e73000f48606","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"08bc50a4-742c-4f8b-a825-1eb41b1e5b99","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401719.75333} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"bdf1b5d8dfb26bbdd6f9d6a5498d08fb","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a292b920-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} 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/f474f263-5a15-496e-9f8e-11e5c498fb79"},{"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/d1916377-4752-451b-9f80-75ebdd1c70a2"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a09aca92-8ae3-44a1-b9fd-ae238038cebb"}}},"level":"info","message":"received a callback"} 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/f474f263-5a15-496e-9f8e-11e5c498fb79"},{"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/d1916377-4752-451b-9f80-75ebdd1c70a2"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a09aca92-8ae3-44a1-b9fd-ae238038cebb"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"a09aca92-8ae3-44a1-b9fd-ae238038cebb","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/a09aca92-8ae3-44a1-b9fd-ae238038cebb 204 52ms","method":"DELETE","requestID":"a292b920-0636-11ef-8c83-05b823ec2e4f","responseTime":52,"status":204,"url":"/peerconnections/a09aca92-8ae3-44a1-b9fd-ae238038cebb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a0e07c14-acaf-441f-9134-0528a33b086d"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff474f263-5a15-496e-9f8e-11e5c498fb79","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9a241780-6d10-4cc8-addf-e5f7a498042d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401719.810764} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.700226,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f474f263-5a15-496e-9f8e-11e5c498fb79","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f474f263-5a15-496e-9f8e-11e5c498fb79","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a29db5a0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/f474f263-5a15-496e-9f8e-11e5c498fb79/signaling 200 17ms","method":"POST","requestID":"a29db5a0-0636-11ef-8c83-05b823ec2e4f","responseTime":17,"status":200,"url":"/devices/f474f263-5a15-496e-9f8e-11e5c498fb79/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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"51fa58fe-d842-4acb-8ff3-ae9c591d121b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401719.8200364} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa0e07c14-acaf-441f-9134-0528a33b086d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa0e07c14-acaf-441f-9134-0528a33b086d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"668e76d1-d7d0-4c00-804a-2fa16489b300","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401719.8205147} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c76b6c861a295094dfb25f11f3ea5b5b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":23}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1916377-4752-451b-9f80-75ebdd1c70a2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"044ca396-adfb-4c26-aefd-892bb3dfd643","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401719.8308985} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.58447,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1916377-4752-451b-9f80-75ebdd1c70a2","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d1916377-4752-451b-9f80-75ebdd1c70a2","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a2a0c2e0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d1916377-4752-451b-9f80-75ebdd1c70a2/signaling 200 15ms","method":"POST","requestID":"a2a0c2e0-0636-11ef-8c83-05b823ec2e4f","responseTime":15,"status":200,"url":"/devices/d1916377-4752-451b-9f80-75ebdd1c70a2/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/a0e07c14-acaf-441f-9134-0528a33b086d"} gateway-1 | {"time_local":"29/Apr/2024:14:41:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/a0e07c14-acaf-441f-9134-0528a33b086d HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.174","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c76b6c861a295094dfb25f11f3ea5b5b"} gateway-1 | {"time_local":"29/Apr/2024:14:41:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2251","request_time":"2.234","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"86859d209b7638a678c367e3e8f5e2e0"} experiment-1 | {"level":"info","message":"DELETE /experiments/a0e07c14-acaf-441f-9134-0528a33b086d 204 170ms","method":"DELETE","requestID":"c76b6c861a295094dfb25f11f3ea5b5b","responseTime":170,"status":204,"url":"/experiments/a0e07c14-acaf-441f-9134-0528a33b086d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 133ms","method":"POST","requestID":"feff52d871435e857404e73000f48606","responseTime":133,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.138","http_referrer":"","http_user_agent":"node-fetch","requestID":"feff52d871435e857404e73000f48606"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxOX0.CiIySvy-JJhZfQCjYyGpefvNteCff58nOBzj6ueLQBY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"83e2ada26af909fb881cd484eb243090","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 134ms","method":"POST","requestID":"bdf1b5d8dfb26bbdd6f9d6a5498d08fb","responseTime":134,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.139","http_referrer":"","http_user_agent":"node-fetch","requestID":"bdf1b5d8dfb26bbdd6f9d6a5498d08fb"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"29/Apr/2024:14:41:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2201","request_time":"0.768","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0ff5d56e3b23c42e9cf92a95e1bb3ef4"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/d1916377-4752-451b-9f80-75ebdd1c70a2' closed"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.139718,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401719,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxOX0.CiIySvy-JJhZfQCjYyGpefvNteCff58nOBzj6ueLQBY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"83e2ada26af909fb881cd484eb243090"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Face80d26-3d87-45d0-aecb-71c9cd7e926d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a0370a96-8ec6-46ae-a426-dc5e3ad34db8","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401719.9085662} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"83e2ada26af909fb881cd484eb243090"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f474f263-5a15-496e-9f8e-11e5c498fb79' 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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0c75c498-04a9-4438-8abb-43563b04adb5","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401719.9139347} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"83e2ada26af909fb881cd484eb243090"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Face80d26-3d87-45d0-aecb-71c9cd7e926d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"9b49a112-0a9d-4742-b75e-39c18e3e43ab","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401719.923293} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6aafc427-08dd-4560-9514-4c130af84ac2","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401719.9233966} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"83e2ada26af909fb881cd484eb243090"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Face80d26-3d87-45d0-aecb-71c9cd7e926d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Face80d26-3d87-45d0-aecb-71c9cd7e926d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:59.923266992Z"}]},"request_id":"8c332959-7bb1-4079-88ab-20f234339a97","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401719.9278228} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"83e2ada26af909fb881cd484eb243090"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:41:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"83e2ada26af909fb881cd484eb243090"} device-1 | {"level":"info","message":"POST /devices? 201 37ms","method":"POST","requestID":"83e2ada26af909fb881cd484eb243090","responseTime":37,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxOX0.CiIySvy-JJhZfQCjYyGpefvNteCff58nOBzj6ueLQBY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"11393decdef1f7f2bda4cbcdb9b36eaa","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.607983,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:41:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401719,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcxOX0.CiIySvy-JJhZfQCjYyGpefvNteCff58nOBzj6ueLQBY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"11393decdef1f7f2bda4cbcdb9b36eaa"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08c5f2c1-cd3f-44c9-b553-c5073882a883","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"614c2825-7210-4527-8a4c-2d96bd209f71","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401719.953301} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"11393decdef1f7f2bda4cbcdb9b36eaa"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"de10e898-33fc-4dbb-a414-5d969f90854e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401719.9594696} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"11393decdef1f7f2bda4cbcdb9b36eaa"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08c5f2c1-cd3f-44c9-b553-c5073882a883","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"a94f19e2-51ef-4e63-a3bd-e8bdd7b5d9f5","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401719.9695408} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"be40ac9e-9cab-418f-9c5c-833b7a9b2e08","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401719.9696004} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"11393decdef1f7f2bda4cbcdb9b36eaa"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08c5f2c1-cd3f-44c9-b553-c5073882a883","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08c5f2c1-cd3f-44c9-b553-c5073882a883","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:59.969514922Z"}]},"request_id":"23d0e144-86bd-42a0-a7bc-9f9d6399395a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401719.9748223} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"11393decdef1f7f2bda4cbcdb9b36eaa"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"11393decdef1f7f2bda4cbcdb9b36eaa","responseTime":42,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2024:14:41: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.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"11393decdef1f7f2bda4cbcdb9b36eaa"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyMH0.CkGFF4gXhehlMuKtMgq43FtXZVtRB6fjZZJa99HPULg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"40c08449954a2cf8bd2a5c27f2408647","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:00Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.527092,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:00Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401720,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyMH0.CkGFF4gXhehlMuKtMgq43FtXZVtRB6fjZZJa99HPULg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"40c08449954a2cf8bd2a5c27f2408647"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Face80d26-3d87-45d0-aecb-71c9cd7e926d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Face80d26-3d87-45d0-aecb-71c9cd7e926d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:59.923266992Z"}]},"request_id":"fde41410-8afd-4c44-b77c-c728446e0d7e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401720.4649498} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"40c08449954a2cf8bd2a5c27f2408647"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e465dc1b-3adc-48ad-8180-7dc8cbff5765","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401720.4732254} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"40c08449954a2cf8bd2a5c27f2408647"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Face80d26-3d87-45d0-aecb-71c9cd7e926d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Face80d26-3d87-45d0-aecb-71c9cd7e926d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:59.923266992Z"}]},"request_id":"2ad7887c-c851-49b6-b2a4-19e87ffc5fa4","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401720.4994025} authorization-1 | {"level":"info","message":"POST /relations/query 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"40c08449954a2cf8bd2a5c27f2408647"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d 200 58ms","method":"PATCH","requestID":"40c08449954a2cf8bd2a5c27f2408647","responseTime":58,"status":200,"url":"/devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d"} gateway-1 | {"time_local":"29/Apr/2024:14:42:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.063","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"40c08449954a2cf8bd2a5c27f2408647"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyMH0.CkGFF4gXhehlMuKtMgq43FtXZVtRB6fjZZJa99HPULg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f290b99e5d12f3d61f309ad4aad79ede","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:00Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.664004,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:00Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401720,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyMH0.CkGFF4gXhehlMuKtMgq43FtXZVtRB6fjZZJa99HPULg"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f290b99e5d12f3d61f309ad4aad79ede"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.025","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"f290b99e5d12f3d61f309ad4aad79ede"} device-1 | {"level":"info","message":"POST /devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d/websocket 200 20ms","method":"POST","requestID":"f290b99e5d12f3d61f309ad4aad79ede","responseTime":20,"status":200,"url":"/devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d' connected"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"412600bb1970449d6280aa238b5633df","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2024:14:42:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/08c5f2c1-cd3f-44c9-b553-c5073882a883/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":"412600bb1970449d6280aa238b5633df"} device-1 | {"level":"info","message":"OPTIONS /devices/08c5f2c1-cd3f-44c9-b553-c5073882a883/websocket 200 1ms","method":"OPTIONS","requestID":"412600bb1970449d6280aa238b5633df","responseTime":1,"status":200,"url":"/devices/08c5f2c1-cd3f-44c9-b553-c5073882a883/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyMX0.6mLqTGlfCaAtz9NQlQxiCRVaRx36Z8V7TwIZ_D7Xt_Y","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cd02f487efc57244fb4b883f5cd5d2ff","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:01Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.174325,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:01Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/08c5f2c1-cd3f-44c9-b553-c5073882a883","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/08c5f2c1-cd3f-44c9-b553-c5073882a883","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401721,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyMX0.6mLqTGlfCaAtz9NQlQxiCRVaRx36Z8V7TwIZ_D7Xt_Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cd02f487efc57244fb4b883f5cd5d2ff"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/08c5f2c1-cd3f-44c9-b553-c5073882a883/websocket 200 31ms","method":"POST","requestID":"cd02f487efc57244fb4b883f5cd5d2ff","responseTime":31,"status":200,"url":"/devices/08c5f2c1-cd3f-44c9-b553-c5073882a883/websocket"} gateway-1 | {"time_local":"29/Apr/2024:14:42:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/08c5f2c1-cd3f-44c9-b553-c5073882a883/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.037","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"cd02f487efc57244fb4b883f5cd5d2ff"} device-1 | {"level":"info","message":"device 'http://localhost/devices/08c5f2c1-cd3f-44c9-b553-c5073882a883' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyMn0.5TGZQP_xyc7CwI1S5q7RMt8hBlnwVbVvoP9aAR6xTyc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"a026657825146c5561e092f872204441","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.140843,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401722,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyMn0.5TGZQP_xyc7CwI1S5q7RMt8hBlnwVbVvoP9aAR6xTyc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a026657825146c5561e092f872204441"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Face80d26-3d87-45d0-aecb-71c9cd7e926d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Face80d26-3d87-45d0-aecb-71c9cd7e926d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:59.923266992Z"}]},"request_id":"702ac8bb-b4c7-4ea5-b043-fc3d38efb195","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401722.0475514} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a026657825146c5561e092f872204441"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a026657825146c5561e092f872204441"} device-1 | {"level":"info","message":"GET /devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d? 200 20ms","method":"GET","requestID":"a026657825146c5561e092f872204441","responseTime":20,"status":200,"url":"/devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyMn0.5TGZQP_xyc7CwI1S5q7RMt8hBlnwVbVvoP9aAR6xTyc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5a94cb4c91d91a1f802cd6e44df4e1e5","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.174581,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/08c5f2c1-cd3f-44c9-b553-c5073882a883","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/08c5f2c1-cd3f-44c9-b553-c5073882a883","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401722,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyMn0.5TGZQP_xyc7CwI1S5q7RMt8hBlnwVbVvoP9aAR6xTyc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5a94cb4c91d91a1f802cd6e44df4e1e5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08c5f2c1-cd3f-44c9-b553-c5073882a883","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08c5f2c1-cd3f-44c9-b553-c5073882a883","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:59.969514922Z"}]},"request_id":"bbb4c71b-173f-4fe4-86b2-b764dc77e153","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401722.0742326} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5a94cb4c91d91a1f802cd6e44df4e1e5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/08c5f2c1-cd3f-44c9-b553-c5073882a883? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5a94cb4c91d91a1f802cd6e44df4e1e5"} device-1 | {"level":"info","message":"GET /devices/08c5f2c1-cd3f-44c9-b553-c5073882a883? 200 18ms","method":"GET","requestID":"5a94cb4c91d91a1f802cd6e44df4e1e5","responseTime":18,"status":200,"url":"/devices/08c5f2c1-cd3f-44c9-b553-c5073882a883?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyMn0.5TGZQP_xyc7CwI1S5q7RMt8hBlnwVbVvoP9aAR6xTyc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e85e6ce2b31f3d4a525d2bd6eafd6528","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.283838,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401722,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyMn0.5TGZQP_xyc7CwI1S5q7RMt8hBlnwVbVvoP9aAR6xTyc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e85e6ce2b31f3d4a525d2bd6eafd6528"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eed358fe-9971-4a54-97cf-1d4f7af6800e"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eed358fe-9971-4a54-97cf-1d4f7af6800e"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eed358fe-9971-4a54-97cf-1d4f7af6800e"},"level":"info","message":"Successfully booked experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.278501,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401722,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyMn0.5TGZQP_xyc7CwI1S5q7RMt8hBlnwVbVvoP9aAR6xTyc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a4042370-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.704264,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/08c5f2c1-cd3f-44c9-b553-c5073882a883","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/08c5f2c1-cd3f-44c9-b553-c5073882a883","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401722,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyMn0.5TGZQP_xyc7CwI1S5q7RMt8hBlnwVbVvoP9aAR6xTyc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a4047190-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Face80d26-3d87-45d0-aecb-71c9cd7e926d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Face80d26-3d87-45d0-aecb-71c9cd7e926d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:59.923266992Z"}]},"request_id":"4e17ef5d-3fce-4ace-91ed-a2edae03923f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401722.163719} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a4042370-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08c5f2c1-cd3f-44c9-b553-c5073882a883","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08c5f2c1-cd3f-44c9-b553-c5073882a883","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:59.969514922Z"}]},"request_id":"067c8527-28d5-42f7-a0b8-4593ead130fe","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401722.1653614} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a4047190-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d? 200 22ms","method":"GET","requestID":"a4042370-0636-11ef-8c83-05b823ec2e4f","responseTime":22,"status":200,"url":"/devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/08c5f2c1-cd3f-44c9-b553-c5073882a883? 200 21ms","method":"GET","requestID":"a4047190-0636-11ef-8c83-05b823ec2e4f","responseTime":21,"status":200,"url":"/devices/08c5f2c1-cd3f-44c9-b553-c5073882a883?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eed358fe-9971-4a54-97cf-1d4f7af6800e"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eed358fe-9971-4a54-97cf-1d4f7af6800e"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eed358fe-9971-4a54-97cf-1d4f7af6800e"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eed358fe-9971-4a54-97cf-1d4f7af6800e"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eed358fe-9971-4a54-97cf-1d4f7af6800e"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eed358fe-9971-4a54-97cf-1d4f7af6800e"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eed358fe-9971-4a54-97cf-1d4f7af6800e"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eed358fe-9971-4a54-97cf-1d4f7af6800e"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eed358fe-9971-4a54-97cf-1d4f7af6800e"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.123681,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401722,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyMn0.5TGZQP_xyc7CwI1S5q7RMt8hBlnwVbVvoP9aAR6xTyc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a40dc060-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.121288,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/08c5f2c1-cd3f-44c9-b553-c5073882a883","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/08c5f2c1-cd3f-44c9-b553-c5073882a883","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401722,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyMn0.5TGZQP_xyc7CwI1S5q7RMt8hBlnwVbVvoP9aAR6xTyc"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a40de770-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Face80d26-3d87-45d0-aecb-71c9cd7e926d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Face80d26-3d87-45d0-aecb-71c9cd7e926d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:59.923266992Z"}]},"request_id":"3afdc07a-c0fd-45ed-80fc-9122879417d6","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401722.2316086} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08c5f2c1-cd3f-44c9-b553-c5073882a883","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08c5f2c1-cd3f-44c9-b553-c5073882a883","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:59.969514922Z"}]},"request_id":"f13f51a6-c677-42fa-bc7f-ed70b9ff2cd5","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401722.2332215} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a40dc060-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:54028","level":"info","msg":"Received request.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a40de770-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Face80d26-3d87-45d0-aecb-71c9cd7e926d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ae192e22-b55f-44ac-9254-a7752e890ea6","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401722.2365968} authorization-1 | {"client_addr":"127.0.0.1:54028","level":"info","msg":"Sent response.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.361657,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d","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"} authorization-1 | {"level":"info","message":"POST /authorize 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a40e3590-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":19}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Feed358fe-9971-4a54-97cf-1d4f7af6800e#owner@http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Feed358fe-9971-4a54-97cf-1d4f7af6800e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"39a34968-c659-443d-86e3-c3ecf0b3f2b6","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401722.2396078} device-1 | {"level":"info","message":"GET /devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d? 200 28ms","method":"GET","requestID":"a40dc060-0636-11ef-8c83-05b823ec2e4f","responseTime":28,"status":200,"url":"/devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0bae895c-abf3-45cd-b100-e91c35a183bd","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401722.2401526} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/08c5f2c1-cd3f-44c9-b553-c5073882a883? 200 27ms","method":"GET","requestID":"a40de770-0636-11ef-8c83-05b823ec2e4f","responseTime":27,"status":200,"url":"/devices/08c5f2c1-cd3f-44c9-b553-c5073882a883?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e85e6ce2b31f3d4a525d2bd6eafd6528"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":22}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d/signaling 200 32ms","method":"POST","requestID":"a40e3590-0636-11ef-8c83-05b823ec2e4f","responseTime":32,"status":200,"url":"/devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d/signaling"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Face80d26-3d87-45d0-aecb-71c9cd7e926d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"962da474-e863-484a-ba8a-56ad4364d866","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401722.253685} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.903393,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d","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/eed358fe-9971-4a54-97cf-1d4f7af6800e","user":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a412c970-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} gateway-1 | {"time_local":"29/Apr/2024:14:42:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.174","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e85e6ce2b31f3d4a525d2bd6eafd6528"} experiment-1 | {"level":"info","message":"POST /experiments? 201 167ms","method":"POST","requestID":"e85e6ce2b31f3d4a525d2bd6eafd6528","responseTime":167,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:02Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d/signaling 200 13ms","method":"POST","requestID":"a412c970-0636-11ef-8c83-05b823ec2e4f","responseTime":13,"status":200,"url":"/devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d/signaling"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08c5f2c1-cd3f-44c9-b553-c5073882a883","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4a5fd325-dcd3-49c0-a415-68611e47118e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401722.2603607} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.378306,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:02Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/08c5f2c1-cd3f-44c9-b553-c5073882a883","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/08c5f2c1-cd3f-44c9-b553-c5073882a883","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyMn0.5TGZQP_xyc7CwI1S5q7RMt8hBlnwVbVvoP9aAR6xTyc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8fc083555b5c3c21b55a3feed2d3cacd","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a413b3d0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:02Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08c5f2c1-cd3f-44c9-b553-c5073882a883","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ffb838e7-6de0-4027-bb7c-97c4a9a0cadf","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401722.2680993} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.58392,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:02Z"} device-1 | {"level":"info","message":"POST /devices/08c5f2c1-cd3f-44c9-b553-c5073882a883/signaling 200 17ms","method":"POST","requestID":"a413b3d0-0636-11ef-8c83-05b823ec2e4f","responseTime":17,"status":200,"url":"/devices/08c5f2c1-cd3f-44c9-b553-c5073882a883/signaling"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/08c5f2c1-cd3f-44c9-b553-c5073882a883","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/08c5f2c1-cd3f-44c9-b553-c5073882a883","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a4153a70-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.974601,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401722,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyMn0.5TGZQP_xyc7CwI1S5q7RMt8hBlnwVbVvoP9aAR6xTyc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8fc083555b5c3c21b55a3feed2d3cacd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/08c5f2c1-cd3f-44c9-b553-c5073882a883/signaling 200 14ms","method":"POST","requestID":"a4153a70-0636-11ef-8c83-05b823ec2e4f","responseTime":14,"status":200,"url":"/devices/08c5f2c1-cd3f-44c9-b553-c5073882a883/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:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Face80d26-3d87-45d0-aecb-71c9cd7e926d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Face80d26-3d87-45d0-aecb-71c9cd7e926d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:59.923266992Z"}]},"request_id":"58cc4078-2ff0-4c7d-b65e-d5fcfec2a096","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401722.2774086} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eed358fe-9971-4a54-97cf-1d4f7af6800e"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eed358fe-9971-4a54-97cf-1d4f7af6800e"},"level":"info","message":"Building connection plan"} 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":"8c22ef25-658d-43e7-8ad6-ea9f2029e4c7"},{"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":"359edac4-0933-4fb0-9a9a-3223a446a8e6"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"0dcae280-b6c9-4768-8c30-9ee1ae39c9e0"}]},"level":"info","message":"Built pairwise service configurations"} 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/08c5f2c1-cd3f-44c9-b553-c5073882a883"},{"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/ace80d26-3d87-45d0-aecb-71c9cd7e926d"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8fc083555b5c3c21b55a3feed2d3cacd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:02Z"} gateway-1 | {"time_local":"29/Apr/2024:14:42:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8fc083555b5c3c21b55a3feed2d3cacd"} device-1 | {"level":"info","message":"GET /devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d? 200 16ms","method":"GET","requestID":"8fc083555b5c3c21b55a3feed2d3cacd","responseTime":16,"status":200,"url":"/devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d?"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.82147,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401722,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyMn0.5TGZQP_xyc7CwI1S5q7RMt8hBlnwVbVvoP9aAR6xTyc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a417d280-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyMn0.5TGZQP_xyc7CwI1S5q7RMt8hBlnwVbVvoP9aAR6xTyc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"208116f10d774cb41ab6cde921a145a7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.799062,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/08c5f2c1-cd3f-44c9-b553-c5073882a883","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/08c5f2c1-cd3f-44c9-b553-c5073882a883","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401722,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyMn0.5TGZQP_xyc7CwI1S5q7RMt8hBlnwVbVvoP9aAR6xTyc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"208116f10d774cb41ab6cde921a145a7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","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%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"5e423319-9ec5-48e6-823a-dfdfb0fda6b4","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401722.2956967} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"daa7df61-097c-4d39-90b1-ad43a229305c","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401722.295899} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08c5f2c1-cd3f-44c9-b553-c5073882a883","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08c5f2c1-cd3f-44c9-b553-c5073882a883","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:41:59.969514922Z"}]},"request_id":"18a84a8b-1fb2-4897-8db0-644bca58ade4","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401722.2969744} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a417d280-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"208116f10d774cb41ab6cde921a145a7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/08c5f2c1-cd3f-44c9-b553-c5073882a883? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"208116f10d774cb41ab6cde921a145a7"} device-1 | {"level":"info","message":"GET /devices/08c5f2c1-cd3f-44c9-b553-c5073882a883? 200 15ms","method":"GET","requestID":"208116f10d774cb41ab6cde921a145a7","responseTime":15,"status":200,"url":"/devices/08c5f2c1-cd3f-44c9-b553-c5073882a883?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/5a5c6b66-5e22-4342-8a3a-a6a36c19cee7'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/5a5c6b66-5e22-4342-8a3a-a6a36c19cee7'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 48ms","method":"POST","requestID":"a417d280-0636-11ef-8c83-05b823ec2e4f","responseTime":48,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device-1 | {"data":{"peerconnection":"5a5c6b66-5e22-4342-8a3a-a6a36c19cee7","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eed358fe-9971-4a54-97cf-1d4f7af6800e"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Face80d26-3d87-45d0-aecb-71c9cd7e926d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"60ee2068-4e25-4f62-81a5-6de82dc45e75","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401722.3637402} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.655431,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a423e070-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d/signaling 200 11ms","method":"POST","requestID":"a423e070-0636-11ef-8c83-05b823ec2e4f","responseTime":11,"status":200,"url":"/devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5a5c6b66-5e22-4342-8a3a-a6a36c19cee7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5a5c6b66-5e22-4342-8a3a-a6a36c19cee7","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08c5f2c1-cd3f-44c9-b553-c5073882a883","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"921fb526-b090-4d1c-a2c8-cc34ba1be9b6","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401722.3777883} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.681907,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:02Z"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2b7cc8fb31c2eb4f0f57ef418e4bee6f","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/08c5f2c1-cd3f-44c9-b553-c5073882a883","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/08c5f2c1-cd3f-44c9-b553-c5073882a883","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a425dc40-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} 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/08c5f2c1-cd3f-44c9-b553-c5073882a883"},{"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/ace80d26-3d87-45d0-aecb-71c9cd7e926d"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/5a5c6b66-5e22-4342-8a3a-a6a36c19cee7"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"2b7cc8fb31c2eb4f0f57ef418e4bee6f","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"2b7cc8fb31c2eb4f0f57ef418e4bee6f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/08c5f2c1-cd3f-44c9-b553-c5073882a883/signaling 200 23ms","method":"POST","requestID":"a425dc40-0636-11ef-8c83-05b823ec2e4f","responseTime":23,"status":200,"url":"/devices/08c5f2c1-cd3f-44c9-b553-c5073882a883/signaling"} device-1 | {"data":{"peerconnection":"5a5c6b66-5e22-4342-8a3a-a6a36c19cee7","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"5a5c6b66-5e22-4342-8a3a-a6a36c19cee7","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/5a5c6b66-5e22-4342-8a3a-a6a36c19cee7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5a5c6b66-5e22-4342-8a3a-a6a36c19cee7","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"58ea854866228bbfd1f682da0f5f4892","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/08c5f2c1-cd3f-44c9-b553-c5073882a883"},{"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/ace80d26-3d87-45d0-aecb-71c9cd7e926d"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/5a5c6b66-5e22-4342-8a3a-a6a36c19cee7"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5a5c6b66-5e22-4342-8a3a-a6a36c19cee7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"db1c5afb-9fab-49ee-9b2c-1175744165fb","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401722.4467502} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.593315,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5a5c6b66-5e22-4342-8a3a-a6a36c19cee7","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/5a5c6b66-5e22-4342-8a3a-a6a36c19cee7","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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a4308aa0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/5a5c6b66-5e22-4342-8a3a-a6a36c19cee7 200 8ms","method":"GET","requestID":"a4308aa0-0636-11ef-8c83-05b823ec2e4f","responseTime":9,"status":200,"url":"/peerconnections/5a5c6b66-5e22-4342-8a3a-a6a36c19cee7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 28ms","method":"POST","requestID":"58ea854866228bbfd1f682da0f5f4892","responseTime":28,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch","requestID":"58ea854866228bbfd1f682da0f5f4892"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08c5f2c1-cd3f-44c9-b553-c5073882a883","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ca6c8381-51f8-468b-b8d7-d9c61645e185","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401722.4712327} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.10124,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/08c5f2c1-cd3f-44c9-b553-c5073882a883","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/08c5f2c1-cd3f-44c9-b553-c5073882a883","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a4345b30-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/08c5f2c1-cd3f-44c9-b553-c5073882a883/signaling 200 9ms","method":"POST","requestID":"a4345b30-0636-11ef-8c83-05b823ec2e4f","responseTime":9,"status":200,"url":"/devices/08c5f2c1-cd3f-44c9-b553-c5073882a883/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Face80d26-3d87-45d0-aecb-71c9cd7e926d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c45407e8-0841-499b-82e8-ed70764d2a64","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401722.4833357} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.544521,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a4362ff0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d/signaling 200 8ms","method":"POST","requestID":"a4362ff0-0636-11ef-8c83-05b823ec2e4f","responseTime":8,"status":200,"url":"/devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyMn0.5TGZQP_xyc7CwI1S5q7RMt8hBlnwVbVvoP9aAR6xTyc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1298c69e1ced05dca7031beb91273972","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/eed358fe-9971-4a54-97cf-1d4f7af6800e"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.000489,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/eed358fe-9971-4a54-97cf-1d4f7af6800e","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/eed358fe-9971-4a54-97cf-1d4f7af6800e","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401722,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyMn0.5TGZQP_xyc7CwI1S5q7RMt8hBlnwVbVvoP9aAR6xTyc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1298c69e1ced05dca7031beb91273972"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/eed358fe-9971-4a54-97cf-1d4f7af6800e"} experiment-1 | {"level":"info","message":"GET /experiments/eed358fe-9971-4a54-97cf-1d4f7af6800e 200 14ms","method":"GET","requestID":"1298c69e1ced05dca7031beb91273972","responseTime":14,"status":200,"url":"/experiments/eed358fe-9971-4a54-97cf-1d4f7af6800e"} gateway-1 | {"time_local":"29/Apr/2024:14:42:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/eed358fe-9971-4a54-97cf-1d4f7af6800e HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1298c69e1ced05dca7031beb91273972"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyMn0.5TGZQP_xyc7CwI1S5q7RMt8hBlnwVbVvoP9aAR6xTyc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b68db1c9e985150af0df1680674095c1","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/eed358fe-9971-4a54-97cf-1d4f7af6800e"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.429995,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/eed358fe-9971-4a54-97cf-1d4f7af6800e","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/eed358fe-9971-4a54-97cf-1d4f7af6800e","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401722,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyMn0.5TGZQP_xyc7CwI1S5q7RMt8hBlnwVbVvoP9aAR6xTyc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b68db1c9e985150af0df1680674095c1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eed358fe-9971-4a54-97cf-1d4f7af6800e"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.978895,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5a5c6b66-5e22-4342-8a3a-a6a36c19cee7","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:http://localhost/peerconnections/5a5c6b66-5e22-4342-8a3a-a6a36c19cee7","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401722,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyMn0.5TGZQP_xyc7CwI1S5q7RMt8hBlnwVbVvoP9aAR6xTyc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a4454b20-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5a5c6b66-5e22-4342-8a3a-a6a36c19cee7' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/5a5c6b66-5e22-4342-8a3a-a6a36c19cee7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5a5c6b66-5e22-4342-8a3a-a6a36c19cee7","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5a5c6b66-5e22-4342-8a3a-a6a36c19cee7': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5a5c6b66-5e22-4342-8a3a-a6a36c19cee7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"e11988a7-9cda-4cbd-b907-94ab8f99d4fb","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401722.6073508} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fd63d9c7d3eba1d35c4d9314f3d02eb2","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/08c5f2c1-cd3f-44c9-b553-c5073882a883"},{"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/ace80d26-3d87-45d0-aecb-71c9cd7e926d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5a5c6b66-5e22-4342-8a3a-a6a36c19cee7"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6517182eacf8051ae34bd8d478a65859","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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"519df061-503b-4b93-897f-c51ae7584a30","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401722.6082828} 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/08c5f2c1-cd3f-44c9-b553-c5073882a883"},{"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/ace80d26-3d87-45d0-aecb-71c9cd7e926d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5a5c6b66-5e22-4342-8a3a-a6a36c19cee7"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a4454b20-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} device-1 | {"data":{"peerconnection":"5a5c6b66-5e22-4342-8a3a-a6a36c19cee7","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/5a5c6b66-5e22-4342-8a3a-a6a36c19cee7 204 62ms","method":"DELETE","requestID":"a4454b20-0636-11ef-8c83-05b823ec2e4f","responseTime":62,"status":204,"url":"/peerconnections/5a5c6b66-5e22-4342-8a3a-a6a36c19cee7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eed358fe-9971-4a54-97cf-1d4f7af6800e"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08c5f2c1-cd3f-44c9-b553-c5073882a883","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"57d39c05-c07f-4605-b801-3d3d5879cb97","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401722.6713417} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.563416,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/08c5f2c1-cd3f-44c9-b553-c5073882a883","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/08c5f2c1-cd3f-44c9-b553-c5073882a883","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a4526a80-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/08c5f2c1-cd3f-44c9-b553-c5073882a883/signaling 200 15ms","method":"POST","requestID":"a4526a80-0636-11ef-8c83-05b823ec2e4f","responseTime":15,"status":200,"url":"/devices/08c5f2c1-cd3f-44c9-b553-c5073882a883/signaling"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Feed358fe-9971-4a54-97cf-1d4f7af6800e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Feed358fe-9971-4a54-97cf-1d4f7af6800e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"7e8eedd6-2209-4828-a0f7-22fc9c5ff58b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401722.682039} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ddebc034-9707-4d3b-945d-b31d7137f987","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401722.682413} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b68db1c9e985150af0df1680674095c1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Face80d26-3d87-45d0-aecb-71c9cd7e926d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7c874dd6-c44a-4814-b72a-7bd341b6ed9c","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401722.690502} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.15327,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a45550b0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d/signaling 200 15ms","method":"POST","requestID":"a45550b0-0636-11ef-8c83-05b823ec2e4f","responseTime":15,"status":200,"url":"/devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/eed358fe-9971-4a54-97cf-1d4f7af6800e"} gateway-1 | {"time_local":"29/Apr/2024:14:42:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/eed358fe-9971-4a54-97cf-1d4f7af6800e HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.188","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b68db1c9e985150af0df1680674095c1"} gateway-1 | {"time_local":"29/Apr/2024:14:42:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2118","request_time":"2.205","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"4e64b1cdcb7ada8bd9e0eb59aef23c93"} experiment-1 | {"level":"info","message":"DELETE /experiments/eed358fe-9971-4a54-97cf-1d4f7af6800e 204 184ms","method":"DELETE","requestID":"b68db1c9e985150af0df1680674095c1","responseTime":184,"status":204,"url":"/experiments/eed358fe-9971-4a54-97cf-1d4f7af6800e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 138ms","method":"POST","requestID":"fd63d9c7d3eba1d35c4d9314f3d02eb2","responseTime":138,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.143","http_referrer":"","http_user_agent":"node-fetch","requestID":"fd63d9c7d3eba1d35c4d9314f3d02eb2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 136ms","method":"POST","requestID":"6517182eacf8051ae34bd8d478a65859","responseTime":136,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.145","http_referrer":"","http_user_agent":"node-fetch","requestID":"6517182eacf8051ae34bd8d478a65859"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyMn0.5TGZQP_xyc7CwI1S5q7RMt8hBlnwVbVvoP9aAR6xTyc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c7d80bc6e49a6a8970caebb1bad83aa4","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"29/Apr/2024:14:42:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2199","request_time":"0.743","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5494f05a188c65cd9cd04ded6b6222fd"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.87272,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401722,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyMn0.5TGZQP_xyc7CwI1S5q7RMt8hBlnwVbVvoP9aAR6xTyc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c7d80bc6e49a6a8970caebb1bad83aa4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ace80d26-3d87-45d0-aecb-71c9cd7e926d' 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:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F051165be-b1e7-480d-9178-39b5c8ca0ca6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"df01f75e-1c7b-4712-804d-cc16fd4156e3","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401722.7774165} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c7d80bc6e49a6a8970caebb1bad83aa4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/08c5f2c1-cd3f-44c9-b553-c5073882a883' 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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2e51faf6-d614-45fa-b706-055c2e9af2f9","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401722.7827935} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c7d80bc6e49a6a8970caebb1bad83aa4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F051165be-b1e7-480d-9178-39b5c8ca0ca6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"ff0f58e1-6974-4e61-9bad-9fd441d148ff","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401722.792453} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f139bb4d-ffa5-4fab-bb6c-ff5c38bffa4c","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401722.7925777} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c7d80bc6e49a6a8970caebb1bad83aa4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F051165be-b1e7-480d-9178-39b5c8ca0ca6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F051165be-b1e7-480d-9178-39b5c8ca0ca6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:02.792424521Z"}]},"request_id":"d196cc1c-d944-4b1d-a98f-2ae207c55b00","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401722.7970383} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c7d80bc6e49a6a8970caebb1bad83aa4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c7d80bc6e49a6a8970caebb1bad83aa4"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"c7d80bc6e49a6a8970caebb1bad83aa4","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyMn0.5TGZQP_xyc7CwI1S5q7RMt8hBlnwVbVvoP9aAR6xTyc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"48b27c7b09e56a705becd622e370dbcc","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.794576,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401722,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyMn0.5TGZQP_xyc7CwI1S5q7RMt8hBlnwVbVvoP9aAR6xTyc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48b27c7b09e56a705becd622e370dbcc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefc675e8-4e2b-4203-bc22-9ec79318ebb3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e99e3e0b-db8d-459f-8feb-eac67593fe85","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401722.8209105} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48b27c7b09e56a705becd622e370dbcc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e6c7b45d-d939-4827-ba9c-3e027fcadb89","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401722.8263094} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48b27c7b09e56a705becd622e370dbcc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefc675e8-4e2b-4203-bc22-9ec79318ebb3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"9e1aafa4-0961-4edd-9ac2-23a5a256175a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401722.83749} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0173862d-4b38-4089-9897-35826694bebb","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401722.8377655} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48b27c7b09e56a705becd622e370dbcc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefc675e8-4e2b-4203-bc22-9ec79318ebb3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefc675e8-4e2b-4203-bc22-9ec79318ebb3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:02.837455793Z"}]},"request_id":"f8eb577c-4827-4754-afb1-c6541794f975","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401722.8419843} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48b27c7b09e56a705becd622e370dbcc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"48b27c7b09e56a705becd622e370dbcc","responseTime":39,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2024:14:42:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"48b27c7b09e56a705becd622e370dbcc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyM30.5K6-ae7WJtr3G3_LSi1XoQ_g2P6EZxqFyfrvFhKMYkA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9414ea5f843fc7dc652c764a8a25b2ae","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:03Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.048368,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:03Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/051165be-b1e7-480d-9178-39b5c8ca0ca6","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/051165be-b1e7-480d-9178-39b5c8ca0ca6","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401723,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyM30.5K6-ae7WJtr3G3_LSi1XoQ_g2P6EZxqFyfrvFhKMYkA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9414ea5f843fc7dc652c764a8a25b2ae"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F051165be-b1e7-480d-9178-39b5c8ca0ca6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F051165be-b1e7-480d-9178-39b5c8ca0ca6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:02.792424521Z"}]},"request_id":"87c5c6eb-e3af-4f6b-9673-69f447a81361","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401723.328725} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9414ea5f843fc7dc652c764a8a25b2ae"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"70840b94-7b03-45f2-86b2-182f3d6267c5","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401723.3356953} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9414ea5f843fc7dc652c764a8a25b2ae"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F051165be-b1e7-480d-9178-39b5c8ca0ca6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F051165be-b1e7-480d-9178-39b5c8ca0ca6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:02.792424521Z"}]},"request_id":"005822e4-78e7-4527-8d85-2d9ac50ea009","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401723.3578362} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9414ea5f843fc7dc652c764a8a25b2ae"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/051165be-b1e7-480d-9178-39b5c8ca0ca6 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.053","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"9414ea5f843fc7dc652c764a8a25b2ae"} device-1 | {"level":"info","message":"PATCH /devices/051165be-b1e7-480d-9178-39b5c8ca0ca6 200 46ms","method":"PATCH","requestID":"9414ea5f843fc7dc652c764a8a25b2ae","responseTime":46,"status":200,"url":"/devices/051165be-b1e7-480d-9178-39b5c8ca0ca6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyM30.5K6-ae7WJtr3G3_LSi1XoQ_g2P6EZxqFyfrvFhKMYkA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"f3b9782397f6f4967d15d8392b6d3b03","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:03Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.213425,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:03Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/051165be-b1e7-480d-9178-39b5c8ca0ca6","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/051165be-b1e7-480d-9178-39b5c8ca0ca6","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401723,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyM30.5K6-ae7WJtr3G3_LSi1XoQ_g2P6EZxqFyfrvFhKMYkA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3b9782397f6f4967d15d8392b6d3b03"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/051165be-b1e7-480d-9178-39b5c8ca0ca6/websocket 200 20ms","method":"POST","requestID":"f3b9782397f6f4967d15d8392b6d3b03","responseTime":20,"status":200,"url":"/devices/051165be-b1e7-480d-9178-39b5c8ca0ca6/websocket"} gateway-1 | {"time_local":"29/Apr/2024:14:42:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/051165be-b1e7-480d-9178-39b5c8ca0ca6/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"f3b9782397f6f4967d15d8392b6d3b03"} device-1 | {"level":"info","message":"device 'http://localhost/devices/051165be-b1e7-480d-9178-39b5c8ca0ca6' connected"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"50921309762bc72bd049f8c2241afd58","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2024:14:42:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3/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":"50921309762bc72bd049f8c2241afd58"} device-1 | {"level":"info","message":"OPTIONS /devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3/websocket 200 1ms","method":"OPTIONS","requestID":"50921309762bc72bd049f8c2241afd58","responseTime":1,"status":200,"url":"/devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNH0.JpxD6ox9pmmh2ydV_7Hsw6ZZu4q8AgmZZU6x3gnYWNE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"35ff0c099d10fcde4986aedf62b835b0","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:04Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.169614,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:04Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401724,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNH0.JpxD6ox9pmmh2ydV_7Hsw6ZZu4q8AgmZZU6x3gnYWNE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"35ff0c099d10fcde4986aedf62b835b0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.049","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"35ff0c099d10fcde4986aedf62b835b0"} device-1 | {"level":"info","message":"POST /devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3/websocket 200 42ms","method":"POST","requestID":"35ff0c099d10fcde4986aedf62b835b0","responseTime":42,"status":200,"url":"/devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNH0.JpxD6ox9pmmh2ydV_7Hsw6ZZu4q8AgmZZU6x3gnYWNE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b133d890d5d22ca2a7f35fb173ac5d20","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:04Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.198241,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/051165be-b1e7-480d-9178-39b5c8ca0ca6","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/051165be-b1e7-480d-9178-39b5c8ca0ca6","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401724,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNH0.JpxD6ox9pmmh2ydV_7Hsw6ZZu4q8AgmZZU6x3gnYWNE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b133d890d5d22ca2a7f35fb173ac5d20"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F051165be-b1e7-480d-9178-39b5c8ca0ca6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F051165be-b1e7-480d-9178-39b5c8ca0ca6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:02.792424521Z"}]},"request_id":"98a7d30d-a700-400c-87dd-23bf201ab43b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401724.93573} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b133d890d5d22ca2a7f35fb173ac5d20"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/051165be-b1e7-480d-9178-39b5c8ca0ca6? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b133d890d5d22ca2a7f35fb173ac5d20"} device-1 | {"level":"info","message":"GET /devices/051165be-b1e7-480d-9178-39b5c8ca0ca6? 200 23ms","method":"GET","requestID":"b133d890d5d22ca2a7f35fb173ac5d20","responseTime":23,"status":200,"url":"/devices/051165be-b1e7-480d-9178-39b5c8ca0ca6?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNH0.JpxD6ox9pmmh2ydV_7Hsw6ZZu4q8AgmZZU6x3gnYWNE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"69d9b8af5326a227dcff794a4ebb7735","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:04Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.15226,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401724,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNH0.JpxD6ox9pmmh2ydV_7Hsw6ZZu4q8AgmZZU6x3gnYWNE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"69d9b8af5326a227dcff794a4ebb7735"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefc675e8-4e2b-4203-bc22-9ec79318ebb3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefc675e8-4e2b-4203-bc22-9ec79318ebb3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:02.837455793Z"}]},"request_id":"2b6496e2-9a0b-4291-b2e5-7d4112e14638","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401724.965363} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"69d9b8af5326a227dcff794a4ebb7735"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"69d9b8af5326a227dcff794a4ebb7735"} device-1 | {"level":"info","message":"GET /devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3? 200 19ms","method":"GET","requestID":"69d9b8af5326a227dcff794a4ebb7735","responseTime":19,"status":200,"url":"/devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNH0.JpxD6ox9pmmh2ydV_7Hsw6ZZu4q8AgmZZU6x3gnYWNE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"82435231c34aec373be7d90c49964d21","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:04Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.323496,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401724,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNH0.JpxD6ox9pmmh2ydV_7Hsw6ZZu4q8AgmZZU6x3gnYWNE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"82435231c34aec373be7d90c49964d21"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0acc7898-98e5-453b-8b44-48e59129975c"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0acc7898-98e5-453b-8b44-48e59129975c"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0acc7898-98e5-453b-8b44-48e59129975c"},"level":"info","message":"Successfully booked experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.077498,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/051165be-b1e7-480d-9178-39b5c8ca0ca6","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/051165be-b1e7-480d-9178-39b5c8ca0ca6","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401724,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNH0.JpxD6ox9pmmh2ydV_7Hsw6ZZu4q8AgmZZU6x3gnYWNE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a5ba37e0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.356141,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401724,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNH0.JpxD6ox9pmmh2ydV_7Hsw6ZZu4q8AgmZZU6x3gnYWNE"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a5ba8600-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F051165be-b1e7-480d-9178-39b5c8ca0ca6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F051165be-b1e7-480d-9178-39b5c8ca0ca6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:02.792424521Z"}]},"request_id":"273b7c42-9a0b-4c31-99e0-3abf7fe220cd","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401725.033834} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a5ba37e0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefc675e8-4e2b-4203-bc22-9ec79318ebb3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefc675e8-4e2b-4203-bc22-9ec79318ebb3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:02.837455793Z"}]},"request_id":"909f5f50-d8e1-4495-821f-a59c63098547","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401725.0354145} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a5ba8600-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/051165be-b1e7-480d-9178-39b5c8ca0ca6? 200 20ms","method":"GET","requestID":"a5ba37e0-0636-11ef-8c83-05b823ec2e4f","responseTime":20,"status":200,"url":"/devices/051165be-b1e7-480d-9178-39b5c8ca0ca6?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3? 200 19ms","method":"GET","requestID":"a5ba8600-0636-11ef-8c83-05b823ec2e4f","responseTime":19,"status":200,"url":"/devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0acc7898-98e5-453b-8b44-48e59129975c"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0acc7898-98e5-453b-8b44-48e59129975c"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0acc7898-98e5-453b-8b44-48e59129975c"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0acc7898-98e5-453b-8b44-48e59129975c"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0acc7898-98e5-453b-8b44-48e59129975c"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0acc7898-98e5-453b-8b44-48e59129975c"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0acc7898-98e5-453b-8b44-48e59129975c"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0acc7898-98e5-453b-8b44-48e59129975c"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0acc7898-98e5-453b-8b44-48e59129975c"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.520516,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/051165be-b1e7-480d-9178-39b5c8ca0ca6","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/051165be-b1e7-480d-9178-39b5c8ca0ca6","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401724,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNH0.JpxD6ox9pmmh2ydV_7Hsw6ZZu4q8AgmZZU6x3gnYWNE"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a5c645d0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.08614,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401724,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNH0.JpxD6ox9pmmh2ydV_7Hsw6ZZu4q8AgmZZU6x3gnYWNE"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a5c693f0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.271472,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F051165be-b1e7-480d-9178-39b5c8ca0ca6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6089315e-ed50-4910-a3f7-c067309e9026","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401725.1164804} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/051165be-b1e7-480d-9178-39b5c8ca0ca6","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/051165be-b1e7-480d-9178-39b5c8ca0ca6","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a5c70920-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F051165be-b1e7-480d-9178-39b5c8ca0ca6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F051165be-b1e7-480d-9178-39b5c8ca0ca6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:02.792424521Z"}]},"request_id":"0e33370f-7bd1-4a08-806a-e9622786d355","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401725.121079} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a5c645d0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefc675e8-4e2b-4203-bc22-9ec79318ebb3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefc675e8-4e2b-4203-bc22-9ec79318ebb3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:02.837455793Z"}]},"request_id":"531cceee-fcb5-4e0a-bdd5-6b5271678dd3","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401725.1251192} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a5c693f0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/051165be-b1e7-480d-9178-39b5c8ca0ca6/signaling 200 22ms","method":"POST","requestID":"a5c70920-0636-11ef-8c83-05b823ec2e4f","responseTime":22,"status":200,"url":"/devices/051165be-b1e7-480d-9178-39b5c8ca0ca6/signaling"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0acc7898-98e5-453b-8b44-48e59129975c#owner@http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0acc7898-98e5-453b-8b44-48e59129975c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"68e9880d-a5d6-46e9-828f-5051ef25cb74","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401725.1307511} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e9b7c348-f108-4f79-bf6d-5bab0140bd9d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401725.1313727} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"82435231c34aec373be7d90c49964d21"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:05Z"} device-1 | {"level":"info","message":"GET /devices/051165be-b1e7-480d-9178-39b5c8ca0ca6? 200 35ms","method":"GET","requestID":"a5c645d0-0636-11ef-8c83-05b823ec2e4f","responseTime":35,"status":200,"url":"/devices/051165be-b1e7-480d-9178-39b5c8ca0ca6?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3? 200 35ms","method":"GET","requestID":"a5c693f0-0636-11ef-8c83-05b823ec2e4f","responseTime":35,"status":200,"url":"/devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3?"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefc675e8-4e2b-4203-bc22-9ec79318ebb3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"da780bbc-e7c6-4164-9159-08cde51fee63","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401725.1387374} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.039545,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a5cb27d0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/0acc7898-98e5-453b-8b44-48e59129975c","user":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment-1 | {"level":"info","message":"POST /experiments? 201 166ms","method":"POST","requestID":"82435231c34aec373be7d90c49964d21","responseTime":166,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"29/Apr/2024:14:42:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.172","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"82435231c34aec373be7d90c49964d21"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3/signaling 200 17ms","method":"POST","requestID":"a5cb27d0-0636-11ef-8c83-05b823ec2e4f","responseTime":17,"status":200,"url":"/devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3/signaling"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:05Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNX0.vA2ngJbTNE_I0w_azQ1Ypn5-WhAwm1JenwxLC8NEZsc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c42bb0dfd324f0f834fa9ea521e18b37","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F051165be-b1e7-480d-9178-39b5c8ca0ca6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cf9c4102-cad0-433f-8fe8-cb6ed0b173ea","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401725.1535168} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.227489,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/051165be-b1e7-480d-9178-39b5c8ca0ca6","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/051165be-b1e7-480d-9178-39b5c8ca0ca6","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a5ccfc90-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.067261,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:05Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/051165be-b1e7-480d-9178-39b5c8ca0ca6/signaling 200 14ms","method":"POST","requestID":"a5ccfc90-0636-11ef-8c83-05b823ec2e4f","responseTime":14,"status":200,"url":"/devices/051165be-b1e7-480d-9178-39b5c8ca0ca6/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/051165be-b1e7-480d-9178-39b5c8ca0ca6","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/051165be-b1e7-480d-9178-39b5c8ca0ca6","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401725,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNX0.vA2ngJbTNE_I0w_azQ1Ypn5-WhAwm1JenwxLC8NEZsc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c42bb0dfd324f0f834fa9ea521e18b37"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F051165be-b1e7-480d-9178-39b5c8ca0ca6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F051165be-b1e7-480d-9178-39b5c8ca0ca6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:02.792424521Z"}]},"request_id":"ae5d3cd0-0762-4fdd-a6cc-109b9deb7b1d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401725.1651697} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c42bb0dfd324f0f834fa9ea521e18b37"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefc675e8-4e2b-4203-bc22-9ec79318ebb3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dcd29b2a-ebc6-424a-abf6-9fee774f7f1c","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401725.1680024} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.787923,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a5cf94a0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/051165be-b1e7-480d-9178-39b5c8ca0ca6? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c42bb0dfd324f0f834fa9ea521e18b37"} device-1 | {"level":"info","message":"GET /devices/051165be-b1e7-480d-9178-39b5c8ca0ca6? 200 19ms","method":"GET","requestID":"c42bb0dfd324f0f834fa9ea521e18b37","responseTime":19,"status":200,"url":"/devices/051165be-b1e7-480d-9178-39b5c8ca0ca6?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3/signaling 200 14ms","method":"POST","requestID":"a5cf94a0-0636-11ef-8c83-05b823ec2e4f","responseTime":14,"status":200,"url":"/devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0acc7898-98e5-453b-8b44-48e59129975c"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0acc7898-98e5-453b-8b44-48e59129975c"},"level":"info","message":"Building connection plan"} 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":"61402dc9-c90a-4595-ba5a-6e87dc56dd65"},{"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":"0380dd29-be97-45ce-833f-14a515476793"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"bf02160a-6a2b-4313-8d5f-996bd155215f"}]},"level":"info","message":"Built pairwise service configurations"} 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/efc675e8-4e2b-4203-bc22-9ec79318ebb3"},{"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/051165be-b1e7-480d-9178-39b5c8ca0ca6"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNX0.vA2ngJbTNE_I0w_azQ1Ypn5-WhAwm1JenwxLC8NEZsc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0a9ec2dcf13eb7f6f0fd041fd656cf68","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.829572,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401724,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNH0.JpxD6ox9pmmh2ydV_7Hsw6ZZu4q8AgmZZU6x3gnYWNE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a5d253c0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.915362,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401725,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNX0.vA2ngJbTNE_I0w_azQ1Ypn5-WhAwm1JenwxLC8NEZsc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0a9ec2dcf13eb7f6f0fd041fd656cf68"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefc675e8-4e2b-4203-bc22-9ec79318ebb3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefc675e8-4e2b-4203-bc22-9ec79318ebb3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:02.837455793Z"}]},"request_id":"617e6692-a4d2-4c69-a641-e4e5686dd6c2","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401725.1913018} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0a9ec2dcf13eb7f6f0fd041fd656cf68"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3? 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":"0a9ec2dcf13eb7f6f0fd041fd656cf68"} device-1 | {"level":"info","message":"GET /devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3? 200 13ms","method":"GET","requestID":"0a9ec2dcf13eb7f6f0fd041fd656cf68","responseTime":13,"status":200,"url":"/devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3?"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","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%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"eed82c2b-4657-44a8-a499-b226d8294997","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401725.1966019} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c44b88ab-fa8f-4763-98aa-423a9c411f62","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401725.1967955} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a5d253c0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/0ebe7c81-e1e6-48f5-90c5-3627b51465d6'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/0ebe7c81-e1e6-48f5-90c5-3627b51465d6'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 44ms","method":"POST","requestID":"a5d253c0-0636-11ef-8c83-05b823ec2e4f","responseTime":44,"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"} device-1 | {"data":{"peerconnection":"0ebe7c81-e1e6-48f5-90c5-3627b51465d6","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0acc7898-98e5-453b-8b44-48e59129975c"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F051165be-b1e7-480d-9178-39b5c8ca0ca6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aca76918-d0f0-4000-9ef6-c32acdff0721","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401725.2584085} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.399549,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/051165be-b1e7-480d-9178-39b5c8ca0ca6","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/051165be-b1e7-480d-9178-39b5c8ca0ca6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a5dd9e60-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/051165be-b1e7-480d-9178-39b5c8ca0ca6/signaling 200 8ms","method":"POST","requestID":"a5dd9e60-0636-11ef-8c83-05b823ec2e4f","responseTime":8,"status":200,"url":"/devices/051165be-b1e7-480d-9178-39b5c8ca0ca6/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefc675e8-4e2b-4203-bc22-9ec79318ebb3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1a5a51eb-cc65-4a8c-a0ef-e429ac093373","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401725.2696228} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.37338,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a5df2500-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3/signaling 200 10ms","method":"POST","requestID":"a5df2500-0636-11ef-8c83-05b823ec2e4f","responseTime":10,"status":200,"url":"/devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3/signaling"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0ebe7c81-e1e6-48f5-90c5-3627b51465d6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0ebe7c81-e1e6-48f5-90c5-3627b51465d6","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3a43f4f5219c07fb449763aa2b15e375","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/efc675e8-4e2b-4203-bc22-9ec79318ebb3"},{"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/051165be-b1e7-480d-9178-39b5c8ca0ca6"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/0ebe7c81-e1e6-48f5-90c5-3627b51465d6"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"3a43f4f5219c07fb449763aa2b15e375","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.006","http_referrer":"","http_user_agent":"node-fetch","requestID":"3a43f4f5219c07fb449763aa2b15e375"} device-1 | {"data":{"peerconnection":"0ebe7c81-e1e6-48f5-90c5-3627b51465d6","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"0ebe7c81-e1e6-48f5-90c5-3627b51465d6","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/0ebe7c81-e1e6-48f5-90c5-3627b51465d6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0ebe7c81-e1e6-48f5-90c5-3627b51465d6","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e4d2e556963c43ac743eeb6975c3e7a1","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/efc675e8-4e2b-4203-bc22-9ec79318ebb3"},{"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/051165be-b1e7-480d-9178-39b5c8ca0ca6"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/0ebe7c81-e1e6-48f5-90c5-3627b51465d6"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0ebe7c81-e1e6-48f5-90c5-3627b51465d6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8eec3c91-24aa-40cc-894c-13843f985478","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401725.3588} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.076657,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0ebe7c81-e1e6-48f5-90c5-3627b51465d6","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/0ebe7c81-e1e6-48f5-90c5-3627b51465d6","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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a5ecb990-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/0ebe7c81-e1e6-48f5-90c5-3627b51465d6 200 10ms","method":"GET","requestID":"a5ecb990-0636-11ef-8c83-05b823ec2e4f","responseTime":10,"status":200,"url":"/peerconnections/0ebe7c81-e1e6-48f5-90c5-3627b51465d6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 31ms","method":"POST","requestID":"e4d2e556963c43ac743eeb6975c3e7a1","responseTime":31,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.035","http_referrer":"","http_user_agent":"node-fetch","requestID":"e4d2e556963c43ac743eeb6975c3e7a1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefc675e8-4e2b-4203-bc22-9ec79318ebb3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e02c72ca-c137-4588-871c-97e9b11f49fa","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401725.3853827} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.473679,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a5f0d840-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3/signaling 200 11ms","method":"POST","requestID":"a5f0d840-0636-11ef-8c83-05b823ec2e4f","responseTime":11,"status":200,"url":"/devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F051165be-b1e7-480d-9178-39b5c8ca0ca6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dc2a35a9-e528-4b84-8e85-083b4931df72","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401725.398205} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.964993,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/051165be-b1e7-480d-9178-39b5c8ca0ca6","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/051165be-b1e7-480d-9178-39b5c8ca0ca6","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a5f2d410-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/051165be-b1e7-480d-9178-39b5c8ca0ca6/signaling 200 11ms","method":"POST","requestID":"a5f2d410-0636-11ef-8c83-05b823ec2e4f","responseTime":11,"status":200,"url":"/devices/051165be-b1e7-480d-9178-39b5c8ca0ca6/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNX0.vA2ngJbTNE_I0w_azQ1Ypn5-WhAwm1JenwxLC8NEZsc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"03773de3e9713895c8d3099b45df8b87","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/0acc7898-98e5-453b-8b44-48e59129975c"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.41832,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0acc7898-98e5-453b-8b44-48e59129975c","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/0acc7898-98e5-453b-8b44-48e59129975c","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401725,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNX0.vA2ngJbTNE_I0w_azQ1Ypn5-WhAwm1JenwxLC8NEZsc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"03773de3e9713895c8d3099b45df8b87"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/0acc7898-98e5-453b-8b44-48e59129975c"} gateway-1 | {"time_local":"29/Apr/2024:14:42:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/0acc7898-98e5-453b-8b44-48e59129975c HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"03773de3e9713895c8d3099b45df8b87"} experiment-1 | {"level":"info","message":"GET /experiments/0acc7898-98e5-453b-8b44-48e59129975c 200 19ms","method":"GET","requestID":"03773de3e9713895c8d3099b45df8b87","responseTime":19,"status":200,"url":"/experiments/0acc7898-98e5-453b-8b44-48e59129975c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNX0.vA2ngJbTNE_I0w_azQ1Ypn5-WhAwm1JenwxLC8NEZsc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9f2582344d84f119b8fa6b2ae63e7f35","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/0acc7898-98e5-453b-8b44-48e59129975c"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.835764,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0acc7898-98e5-453b-8b44-48e59129975c","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/0acc7898-98e5-453b-8b44-48e59129975c","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401725,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNX0.vA2ngJbTNE_I0w_azQ1Ypn5-WhAwm1JenwxLC8NEZsc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9f2582344d84f119b8fa6b2ae63e7f35"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0acc7898-98e5-453b-8b44-48e59129975c"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.331472,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0ebe7c81-e1e6-48f5-90c5-3627b51465d6","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:http://localhost/peerconnections/0ebe7c81-e1e6-48f5-90c5-3627b51465d6","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401725,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNX0.vA2ngJbTNE_I0w_azQ1Ypn5-WhAwm1JenwxLC8NEZsc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a602d9a0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0ebe7c81-e1e6-48f5-90c5-3627b51465d6' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/0ebe7c81-e1e6-48f5-90c5-3627b51465d6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0ebe7c81-e1e6-48f5-90c5-3627b51465d6","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0ebe7c81-e1e6-48f5-90c5-3627b51465d6': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0ebe7c81-e1e6-48f5-90c5-3627b51465d6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"cd6ce4a7-fa9f-46a7-a9d8-4f75a2dfa8cf","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401725.527445} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0b1a284c-afe4-48d0-b7e4-30109c7875d3","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401725.5280132} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"53e20f97974c869b1d44ae3ffe366fb4","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3"},{"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/051165be-b1e7-480d-9178-39b5c8ca0ca6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0ebe7c81-e1e6-48f5-90c5-3627b51465d6"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"016e2c75ceaef566e5efb7fd3571543e","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a602d9a0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} 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/efc675e8-4e2b-4203-bc22-9ec79318ebb3"},{"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/051165be-b1e7-480d-9178-39b5c8ca0ca6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0ebe7c81-e1e6-48f5-90c5-3627b51465d6"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"0ebe7c81-e1e6-48f5-90c5-3627b51465d6","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/0ebe7c81-e1e6-48f5-90c5-3627b51465d6 204 54ms","method":"DELETE","requestID":"a602d9a0-0636-11ef-8c83-05b823ec2e4f","responseTime":54,"status":204,"url":"/peerconnections/0ebe7c81-e1e6-48f5-90c5-3627b51465d6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0acc7898-98e5-453b-8b44-48e59129975c"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefc675e8-4e2b-4203-bc22-9ec79318ebb3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"406c7618-e5cb-4971-809a-4719de34b1e7","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401725.575717} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.03818,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a60dd620-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3/signaling 200 12ms","method":"POST","requestID":"a60dd620-0636-11ef-8c83-05b823ec2e4f","responseTime":12,"status":200,"url":"/devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0acc7898-98e5-453b-8b44-48e59129975c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0acc7898-98e5-453b-8b44-48e59129975c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"3b2a036d-ea2e-4a0c-8bf1-97a30610d311","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401725.586161} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b2a213ae-9561-43dc-9d98-492eca5fcd7e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401725.586315} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9f2582344d84f119b8fa6b2ae63e7f35"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F051165be-b1e7-480d-9178-39b5c8ca0ca6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1da0fa72-1e97-461b-b4d4-da3b6fe9d7a3","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401725.5914576} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.862848,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/051165be-b1e7-480d-9178-39b5c8ca0ca6","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/051165be-b1e7-480d-9178-39b5c8ca0ca6","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a6102010-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/051165be-b1e7-480d-9178-39b5c8ca0ca6/signaling 200 13ms","method":"POST","requestID":"a6102010-0636-11ef-8c83-05b823ec2e4f","responseTime":13,"status":200,"url":"/devices/051165be-b1e7-480d-9178-39b5c8ca0ca6/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/0acc7898-98e5-453b-8b44-48e59129975c"} gateway-1 | {"time_local":"29/Apr/2024:14:42:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/0acc7898-98e5-453b-8b44-48e59129975c HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.172","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9f2582344d84f119b8fa6b2ae63e7f35"} gateway-1 | {"time_local":"29/Apr/2024:14:42:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2119","request_time":"2.252","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"36085b634ffcbc8c3142e04365ec1bff"} experiment-1 | {"level":"info","message":"DELETE /experiments/0acc7898-98e5-453b-8b44-48e59129975c 204 168ms","method":"DELETE","requestID":"9f2582344d84f119b8fa6b2ae63e7f35","responseTime":168,"status":204,"url":"/experiments/0acc7898-98e5-453b-8b44-48e59129975c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 118ms","method":"POST","requestID":"53e20f97974c869b1d44ae3ffe366fb4","responseTime":118,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.123","http_referrer":"","http_user_agent":"node-fetch","requestID":"53e20f97974c869b1d44ae3ffe366fb4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 117ms","method":"POST","requestID":"016e2c75ceaef566e5efb7fd3571543e","responseTime":117,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.123","http_referrer":"","http_user_agent":"node-fetch","requestID":"016e2c75ceaef566e5efb7fd3571543e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNX0.vA2ngJbTNE_I0w_azQ1Ypn5-WhAwm1JenwxLC8NEZsc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d9cbe0bf4980ee5a476c4b3be52ee920","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/051165be-b1e7-480d-9178-39b5c8ca0ca6' closed"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:05Z"} gateway-1 | {"time_local":"29/Apr/2024:14:42:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2199","request_time":"0.758","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"775cf2cf6bb7e911732f90986444b5e8"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.508104,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401725,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNX0.vA2ngJbTNE_I0w_azQ1Ypn5-WhAwm1JenwxLC8NEZsc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d9cbe0bf4980ee5a476c4b3be52ee920"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/efc675e8-4e2b-4203-bc22-9ec79318ebb3' 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:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb17c2c89-f9ec-4333-9586-72ffb44cf03d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2801eca3-4e2a-456e-8ac4-bbd582d7bac4","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401725.671064} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d9cbe0bf4980ee5a476c4b3be52ee920"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"355bc854-030b-42a5-9054-33188c6e6087","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401725.675828} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d9cbe0bf4980ee5a476c4b3be52ee920"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb17c2c89-f9ec-4333-9586-72ffb44cf03d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"73df3ccb-1e24-48ad-b4ab-8683a7b0fc4b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401725.6852617} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3e662745-b88e-4ab2-9218-bee4e06f1cf8","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401725.685385} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d9cbe0bf4980ee5a476c4b3be52ee920"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb17c2c89-f9ec-4333-9586-72ffb44cf03d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb17c2c89-f9ec-4333-9586-72ffb44cf03d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:05.685236602Z"}]},"request_id":"f8337aaf-3922-4fbe-9d2b-2401720766d6","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401725.6899712} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d9cbe0bf4980ee5a476c4b3be52ee920"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d9cbe0bf4980ee5a476c4b3be52ee920"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"d9cbe0bf4980ee5a476c4b3be52ee920","responseTime":40,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNX0.vA2ngJbTNE_I0w_azQ1Ypn5-WhAwm1JenwxLC8NEZsc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2c4886d8a27b0fa67a63245cf9a751c0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.719491,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401725,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNX0.vA2ngJbTNE_I0w_azQ1Ypn5-WhAwm1JenwxLC8NEZsc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2c4886d8a27b0fa67a63245cf9a751c0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83b1eb67-2861-4808-8105-e777d9d6915d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"fadb4850-070f-4e37-9a08-19496f21369d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401725.7154377} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2c4886d8a27b0fa67a63245cf9a751c0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c0ae8fac-f7be-4f56-993f-2a4f6ac32236","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401725.720088} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2c4886d8a27b0fa67a63245cf9a751c0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83b1eb67-2861-4808-8105-e777d9d6915d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"f7d28aea-1a47-43f1-a628-43e38546d539","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401725.7309015} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9975fafa-c4d7-4aa9-9440-369b82ff73e3","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401725.7310236} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2c4886d8a27b0fa67a63245cf9a751c0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83b1eb67-2861-4808-8105-e777d9d6915d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83b1eb67-2861-4808-8105-e777d9d6915d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:05.730880498Z"}]},"request_id":"d135da61-da7c-4fad-9d5e-4914a5c72056","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401725.735425} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2c4886d8a27b0fa67a63245cf9a751c0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"2c4886d8a27b0fa67a63245cf9a751c0","responseTime":39,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2024:14:42:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2c4886d8a27b0fa67a63245cf9a751c0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNn0.GbvbDewMG4Rsm7O4ym0zNL1lMmDQaiCMlAMhbvi02EY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"be8bff7428fa024b73772aec5592525d","responseTime":6,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNn0.GbvbDewMG4Rsm7O4ym0zNL1lMmDQaiCMlAMhbvi02EY","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"77200d157b617901b3ba73131f5c530c","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.650399,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401726,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNn0.GbvbDewMG4Rsm7O4ym0zNL1lMmDQaiCMlAMhbvi02EY"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"be8bff7428fa024b73772aec5592525d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.666644,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/83b1eb67-2861-4808-8105-e777d9d6915d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/83b1eb67-2861-4808-8105-e777d9d6915d","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401726,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNn0.GbvbDewMG4Rsm7O4ym0zNL1lMmDQaiCMlAMhbvi02EY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"77200d157b617901b3ba73131f5c530c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83b1eb67-2861-4808-8105-e777d9d6915d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83b1eb67-2861-4808-8105-e777d9d6915d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:05.730880498Z"}]},"request_id":"13cc31e6-183b-4876-b7bf-afc5b1adb20c","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401726.2183897} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"77200d157b617901b3ba73131f5c530c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb17c2c89-f9ec-4333-9586-72ffb44cf03d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb17c2c89-f9ec-4333-9586-72ffb44cf03d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:05.685236602Z"}]},"request_id":"665fbc39-8669-49dc-84c9-81245ec39b7a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401726.2209969} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"be8bff7428fa024b73772aec5592525d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ee8b4283-8c63-4afb-8a49-f04037060bc3","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401726.2230504} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"77200d157b617901b3ba73131f5c530c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"360b86e8-8e9e-41ee-a378-77d8b9bd6ed0","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401726.2266057} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"be8bff7428fa024b73772aec5592525d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83b1eb67-2861-4808-8105-e777d9d6915d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83b1eb67-2861-4808-8105-e777d9d6915d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:05.730880498Z"}]},"request_id":"09bbd814-4acc-470b-b9e5-9c32cb519d36","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401726.2391105} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"77200d157b617901b3ba73131f5c530c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/83b1eb67-2861-4808-8105-e777d9d6915d HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.043","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"77200d157b617901b3ba73131f5c530c"} device-1 | {"level":"info","message":"PATCH /devices/83b1eb67-2861-4808-8105-e777d9d6915d 200 33ms","method":"PATCH","requestID":"77200d157b617901b3ba73131f5c530c","responseTime":33,"status":200,"url":"/devices/83b1eb67-2861-4808-8105-e777d9d6915d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNn0.GbvbDewMG4Rsm7O4ym0zNL1lMmDQaiCMlAMhbvi02EY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3067130224609125587cd1535a64f18c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb17c2c89-f9ec-4333-9586-72ffb44cf03d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb17c2c89-f9ec-4333-9586-72ffb44cf03d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:05.685236602Z"}]},"request_id":"62d5071a-445e-4917-89fc-e4b9ae66c4fb","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401726.2490609} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"be8bff7428fa024b73772aec5592525d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.649847,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:06Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/83b1eb67-2861-4808-8105-e777d9d6915d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/83b1eb67-2861-4808-8105-e777d9d6915d","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401726,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNn0.GbvbDewMG4Rsm7O4ym0zNL1lMmDQaiCMlAMhbvi02EY"} gateway-1 | {"time_local":"29/Apr/2024:14:42:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.053","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"be8bff7428fa024b73772aec5592525d"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3067130224609125587cd1535a64f18c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"PATCH /devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d 200 45ms","method":"PATCH","requestID":"be8bff7428fa024b73772aec5592525d","responseTime":45,"status":200,"url":"/devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNn0.GbvbDewMG4Rsm7O4ym0zNL1lMmDQaiCMlAMhbvi02EY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b3d4ef4b1b8a2329f146958595b29225","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.755791,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401726,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNn0.GbvbDewMG4Rsm7O4ym0zNL1lMmDQaiCMlAMhbvi02EY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3d4ef4b1b8a2329f146958595b29225"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/83b1eb67-2861-4808-8105-e777d9d6915d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.020","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"3067130224609125587cd1535a64f18c"} device-1 | {"level":"info","message":"POST /devices/83b1eb67-2861-4808-8105-e777d9d6915d/websocket 200 15ms","method":"POST","requestID":"3067130224609125587cd1535a64f18c","responseTime":15,"status":200,"url":"/devices/83b1eb67-2861-4808-8105-e777d9d6915d/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.022","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"b3d4ef4b1b8a2329f146958595b29225"} device-1 | {"level":"info","message":"POST /devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d/websocket 200 19ms","method":"POST","requestID":"b3d4ef4b1b8a2329f146958595b29225","responseTime":19,"status":200,"url":"/devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/83b1eb67-2861-4808-8105-e777d9d6915d' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNn0.GbvbDewMG4Rsm7O4ym0zNL1lMmDQaiCMlAMhbvi02EY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"433235f0857e45c190de5074405d82db","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.805398,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401726,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNn0.GbvbDewMG4Rsm7O4ym0zNL1lMmDQaiCMlAMhbvi02EY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"433235f0857e45c190de5074405d82db"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb17c2c89-f9ec-4333-9586-72ffb44cf03d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb17c2c89-f9ec-4333-9586-72ffb44cf03d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:05.685236602Z"}]},"request_id":"379a89c0-c897-43e4-9243-b5aa44c13232","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401726.3022704} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"433235f0857e45c190de5074405d82db"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d? 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":"433235f0857e45c190de5074405d82db"} device-1 | {"level":"info","message":"GET /devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d? 200 13ms","method":"GET","requestID":"433235f0857e45c190de5074405d82db","responseTime":13,"status":200,"url":"/devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNn0.GbvbDewMG4Rsm7O4ym0zNL1lMmDQaiCMlAMhbvi02EY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"90256ba28f9a1078457e1d3a41f8c9da","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.731083,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/83b1eb67-2861-4808-8105-e777d9d6915d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/83b1eb67-2861-4808-8105-e777d9d6915d","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401726,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNn0.GbvbDewMG4Rsm7O4ym0zNL1lMmDQaiCMlAMhbvi02EY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"90256ba28f9a1078457e1d3a41f8c9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83b1eb67-2861-4808-8105-e777d9d6915d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83b1eb67-2861-4808-8105-e777d9d6915d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:05.730880498Z"}]},"request_id":"caacf2f3-f93c-4fcd-84c6-e1839f8c0396","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401726.3207078} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"90256ba28f9a1078457e1d3a41f8c9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/83b1eb67-2861-4808-8105-e777d9d6915d? 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":"90256ba28f9a1078457e1d3a41f8c9da"} device-1 | {"level":"info","message":"GET /devices/83b1eb67-2861-4808-8105-e777d9d6915d? 200 13ms","method":"GET","requestID":"90256ba28f9a1078457e1d3a41f8c9da","responseTime":13,"status":200,"url":"/devices/83b1eb67-2861-4808-8105-e777d9d6915d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNn0.GbvbDewMG4Rsm7O4ym0zNL1lMmDQaiCMlAMhbvi02EY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0773af0b2c043a65090c6c05da2b2911","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.259595,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401726,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNn0.GbvbDewMG4Rsm7O4ym0zNL1lMmDQaiCMlAMhbvi02EY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0773af0b2c043a65090c6c05da2b2911"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/28f4056f-1cb9-4034-9bf1-3b8652444596"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/28f4056f-1cb9-4034-9bf1-3b8652444596"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/28f4056f-1cb9-4034-9bf1-3b8652444596"},"level":"info","message":"Successfully booked experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.183335,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401726,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNn0.GbvbDewMG4Rsm7O4ym0zNL1lMmDQaiCMlAMhbvi02EY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a689bce0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.590947,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/83b1eb67-2861-4808-8105-e777d9d6915d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/83b1eb67-2861-4808-8105-e777d9d6915d","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401726,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNn0.GbvbDewMG4Rsm7O4ym0zNL1lMmDQaiCMlAMhbvi02EY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a68a0b00-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb17c2c89-f9ec-4333-9586-72ffb44cf03d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb17c2c89-f9ec-4333-9586-72ffb44cf03d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:05.685236602Z"}]},"request_id":"2a952b75-a828-46de-a3de-68fc7cadd02f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401726.3937364} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a689bce0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83b1eb67-2861-4808-8105-e777d9d6915d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83b1eb67-2861-4808-8105-e777d9d6915d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:05.730880498Z"}]},"request_id":"3e6b326b-7124-486b-a76b-517d6f254a0c","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401726.3950434} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a68a0b00-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d? 200 20ms","method":"GET","requestID":"a689bce0-0636-11ef-8c83-05b823ec2e4f","responseTime":20,"status":200,"url":"/devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/83b1eb67-2861-4808-8105-e777d9d6915d? 200 19ms","method":"GET","requestID":"a68a0b00-0636-11ef-8c83-05b823ec2e4f","responseTime":19,"status":200,"url":"/devices/83b1eb67-2861-4808-8105-e777d9d6915d?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/28f4056f-1cb9-4034-9bf1-3b8652444596"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/28f4056f-1cb9-4034-9bf1-3b8652444596"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/28f4056f-1cb9-4034-9bf1-3b8652444596"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/28f4056f-1cb9-4034-9bf1-3b8652444596"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/28f4056f-1cb9-4034-9bf1-3b8652444596"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/28f4056f-1cb9-4034-9bf1-3b8652444596"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/28f4056f-1cb9-4034-9bf1-3b8652444596"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/28f4056f-1cb9-4034-9bf1-3b8652444596"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/28f4056f-1cb9-4034-9bf1-3b8652444596"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.065021,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401726,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNn0.GbvbDewMG4Rsm7O4ym0zNL1lMmDQaiCMlAMhbvi02EY"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a6957cb0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.057594,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/83b1eb67-2861-4808-8105-e777d9d6915d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/83b1eb67-2861-4808-8105-e777d9d6915d","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401726,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNn0.GbvbDewMG4Rsm7O4ym0zNL1lMmDQaiCMlAMhbvi02EY"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a695a3c0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.440913,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb17c2c89-f9ec-4333-9586-72ffb44cf03d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"267fbf94-5b86-422b-8271-7670c6ea3c39","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401726.473927} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a69618f0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb17c2c89-f9ec-4333-9586-72ffb44cf03d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb17c2c89-f9ec-4333-9586-72ffb44cf03d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:05.685236602Z"}]},"request_id":"9b8d9acd-cf92-4009-a09e-9a16bfcf2659","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401726.477553} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83b1eb67-2861-4808-8105-e777d9d6915d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83b1eb67-2861-4808-8105-e777d9d6915d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:05.730880498Z"}]},"request_id":"d5252592-aaaf-4830-b6eb-9b973ee45369","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401726.4796457} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a6957cb0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a695a3c0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F28f4056f-1cb9-4034-9bf1-3b8652444596#owner@http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F28f4056f-1cb9-4034-9bf1-3b8652444596","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"3402f33e-8ad1-4bf5-9e5d-c709380148f8","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401726.4882936} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2e82bfa0-ea12-4310-a17e-e596664f40e6","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401726.4886215} authorization-1 | {"level":"info","message":"POST /relations/update 200 26ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0773af0b2c043a65090c6c05da2b2911"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":26}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d/signaling 200 29ms","method":"POST","requestID":"a69618f0-0636-11ef-8c83-05b823ec2e4f","responseTime":29,"status":200,"url":"/devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d? 200 34ms","method":"GET","requestID":"a6957cb0-0636-11ef-8c83-05b823ec2e4f","responseTime":34,"status":200,"url":"/devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/83b1eb67-2861-4808-8105-e777d9d6915d? 200 34ms","method":"GET","requestID":"a695a3c0-0636-11ef-8c83-05b823ec2e4f","responseTime":34,"status":200,"url":"/devices/83b1eb67-2861-4808-8105-e777d9d6915d?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:06Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/28f4056f-1cb9-4034-9bf1-3b8652444596","user":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83b1eb67-2861-4808-8105-e777d9d6915d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f0e7f5c4-b985-4ad3-a996-fba87809ef37","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401726.5055594} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.086563,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:06Z"} gateway-1 | {"time_local":"29/Apr/2024:14:42:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.182","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0773af0b2c043a65090c6c05da2b2911"} experiment-1 | {"level":"info","message":"POST /experiments? 201 176ms","method":"POST","requestID":"0773af0b2c043a65090c6c05da2b2911","responseTime":176,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/83b1eb67-2861-4808-8105-e777d9d6915d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/83b1eb67-2861-4808-8105-e777d9d6915d","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a69b7020-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb17c2c89-f9ec-4333-9586-72ffb44cf03d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8f2dffb6-dcd2-4db2-8ff6-cd1aaf4e95a4","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401726.5108416} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.840644,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a69c3370-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNn0.GbvbDewMG4Rsm7O4ym0zNL1lMmDQaiCMlAMhbvi02EY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"23caf0cb1278be6e276031fbf3dd8d94","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/83b1eb67-2861-4808-8105-e777d9d6915d/signaling 200 19ms","method":"POST","requestID":"a69b7020-0636-11ef-8c83-05b823ec2e4f","responseTime":19,"status":200,"url":"/devices/83b1eb67-2861-4808-8105-e777d9d6915d/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d/signaling 200 18ms","method":"POST","requestID":"a69c3370-0636-11ef-8c83-05b823ec2e4f","responseTime":18,"status":200,"url":"/devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d/signaling"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.73433,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:06Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401726,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNn0.GbvbDewMG4Rsm7O4ym0zNL1lMmDQaiCMlAMhbvi02EY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"23caf0cb1278be6e276031fbf3dd8d94"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb17c2c89-f9ec-4333-9586-72ffb44cf03d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb17c2c89-f9ec-4333-9586-72ffb44cf03d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:05.685236602Z"}]},"request_id":"92feba17-2535-4488-86f7-b7d49a4dbd9b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401726.5328803} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83b1eb67-2861-4808-8105-e777d9d6915d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9cc3e38e-67c7-4f37-aeeb-d20b7f6d469e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401726.5331714} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"23caf0cb1278be6e276031fbf3dd8d94"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.817214,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/83b1eb67-2861-4808-8105-e777d9d6915d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/83b1eb67-2861-4808-8105-e777d9d6915d","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a69f67c0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"23caf0cb1278be6e276031fbf3dd8d94"} device-1 | {"level":"info","message":"GET /devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d? 200 23ms","method":"GET","requestID":"23caf0cb1278be6e276031fbf3dd8d94","responseTime":23,"status":200,"url":"/devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/83b1eb67-2861-4808-8105-e777d9d6915d/signaling 200 19ms","method":"POST","requestID":"a69f67c0-0636-11ef-8c83-05b823ec2e4f","responseTime":19,"status":200,"url":"/devices/83b1eb67-2861-4808-8105-e777d9d6915d/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/28f4056f-1cb9-4034-9bf1-3b8652444596"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/28f4056f-1cb9-4034-9bf1-3b8652444596"},"level":"info","message":"Building connection plan"} 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":"b48afa81-90a1-40d6-87e6-6e196cf5f7ca"},{"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":"5b2f93bf-0ab2-4c76-aec4-f62c9a67887e"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"e6415bc4-c96a-49e0-b4a7-a8ecc07fe4e8"}]},"level":"info","message":"Built pairwise service configurations"} 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/b17c2c89-f9ec-4333-9586-72ffb44cf03d"},{"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/83b1eb67-2861-4808-8105-e777d9d6915d"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNn0.GbvbDewMG4Rsm7O4ym0zNL1lMmDQaiCMlAMhbvi02EY","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3282f6e1e0e1353a8b76fd1449afa7b9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.771817,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401726,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNn0.GbvbDewMG4Rsm7O4ym0zNL1lMmDQaiCMlAMhbvi02EY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a6a2c320-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.749676,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/83b1eb67-2861-4808-8105-e777d9d6915d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/83b1eb67-2861-4808-8105-e777d9d6915d","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401726,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNn0.GbvbDewMG4Rsm7O4ym0zNL1lMmDQaiCMlAMhbvi02EY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3282f6e1e0e1353a8b76fd1449afa7b9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83b1eb67-2861-4808-8105-e777d9d6915d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83b1eb67-2861-4808-8105-e777d9d6915d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:05.730880498Z"}]},"request_id":"03190dfb-06ed-4f09-a4af-ba57d028c8b8","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401726.5592604} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3282f6e1e0e1353a8b76fd1449afa7b9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/83b1eb67-2861-4808-8105-e777d9d6915d? 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":"3282f6e1e0e1353a8b76fd1449afa7b9"} device-1 | {"level":"info","message":"GET /devices/83b1eb67-2861-4808-8105-e777d9d6915d? 200 16ms","method":"GET","requestID":"3282f6e1e0e1353a8b76fd1449afa7b9","responseTime":16,"status":200,"url":"/devices/83b1eb67-2861-4808-8105-e777d9d6915d?"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","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%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"841d856c-86d6-475b-bb8a-60c68c7c41ff","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401726.5641525} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"28368abc-aed5-44aa-b1af-4d1884f3f4dd","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401726.5646288} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a6a2c320-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/baa2d57e-2e51-4679-9385-de82a4d27ce5'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/baa2d57e-2e51-4679-9385-de82a4d27ce5'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 45ms","method":"POST","requestID":"a6a2c320-0636-11ef-8c83-05b823ec2e4f","responseTime":45,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device-1 | {"data":{"peerconnection":"baa2d57e-2e51-4679-9385-de82a4d27ce5","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"baa2d57e-2e51-4679-9385-de82a4d27ce5","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/28f4056f-1cb9-4034-9bf1-3b8652444596"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/baa2d57e-2e51-4679-9385-de82a4d27ce5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"baa2d57e-2e51-4679-9385-de82a4d27ce5","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb17c2c89-f9ec-4333-9586-72ffb44cf03d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b53bddf3-0f84-4647-89fa-5f801236d6c2","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401726.6325333} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0be05b4a729b7c5c2401be13ee8101e8","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.254849,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d","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":{"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/b17c2c89-f9ec-4333-9586-72ffb44cf03d"},{"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/83b1eb67-2861-4808-8105-e777d9d6915d"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/baa2d57e-2e51-4679-9385-de82a4d27ce5"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a6af1f30-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"0be05b4a729b7c5c2401be13ee8101e8","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"0be05b4a729b7c5c2401be13ee8101e8"} device-1 | {"data":{"peerconnection":"baa2d57e-2e51-4679-9385-de82a4d27ce5","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d/signaling 200 18ms","method":"POST","requestID":"a6af1f30-0636-11ef-8c83-05b823ec2e4f","responseTime":18,"status":200,"url":"/devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83b1eb67-2861-4808-8105-e777d9d6915d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5f18f96e-e021-41b8-9c39-1d178ef72e0d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401726.6530864} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.05159,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/83b1eb67-2861-4808-8105-e777d9d6915d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/83b1eb67-2861-4808-8105-e777d9d6915d","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a6b22c70-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/83b1eb67-2861-4808-8105-e777d9d6915d/signaling 200 12ms","method":"POST","requestID":"a6b22c70-0636-11ef-8c83-05b823ec2e4f","responseTime":12,"status":200,"url":"/devices/83b1eb67-2861-4808-8105-e777d9d6915d/signaling"} device-1 | {"data":{"peerconnection":"baa2d57e-2e51-4679-9385-de82a4d27ce5","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/baa2d57e-2e51-4679-9385-de82a4d27ce5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"baa2d57e-2e51-4679-9385-de82a4d27ce5","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"52f7c059d28edf11875ad824753999f9","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/b17c2c89-f9ec-4333-9586-72ffb44cf03d"},{"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/83b1eb67-2861-4808-8105-e777d9d6915d"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/baa2d57e-2e51-4679-9385-de82a4d27ce5"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbaa2d57e-2e51-4679-9385-de82a4d27ce5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d779345a-a659-4e76-94fe-e2d6589d356c","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401726.6958752} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.209773,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/baa2d57e-2e51-4679-9385-de82a4d27ce5","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/baa2d57e-2e51-4679-9385-de82a4d27ce5","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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a6b8bc20-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/baa2d57e-2e51-4679-9385-de82a4d27ce5 200 13ms","method":"GET","requestID":"a6b8bc20-0636-11ef-8c83-05b823ec2e4f","responseTime":13,"status":200,"url":"/peerconnections/baa2d57e-2e51-4679-9385-de82a4d27ce5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 36ms","method":"POST","requestID":"52f7c059d28edf11875ad824753999f9","responseTime":36,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.040","http_referrer":"","http_user_agent":"node-fetch","requestID":"52f7c059d28edf11875ad824753999f9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb17c2c89-f9ec-4333-9586-72ffb44cf03d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b74e543f-4c6d-4fb1-9e2f-763f89c98f08","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401726.7275193} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.183579,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a6bd7710-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d/signaling 200 13ms","method":"POST","requestID":"a6bd7710-0636-11ef-8c83-05b823ec2e4f","responseTime":13,"status":200,"url":"/devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83b1eb67-2861-4808-8105-e777d9d6915d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9e823f2c-d4b2-4eeb-993d-78e4433edb5d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401726.7432764} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.513507,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/83b1eb67-2861-4808-8105-e777d9d6915d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/83b1eb67-2861-4808-8105-e777d9d6915d","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a6bfe810-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/83b1eb67-2861-4808-8105-e777d9d6915d/signaling 200 13ms","method":"POST","requestID":"a6bfe810-0636-11ef-8c83-05b823ec2e4f","responseTime":13,"status":200,"url":"/devices/83b1eb67-2861-4808-8105-e777d9d6915d/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNn0.GbvbDewMG4Rsm7O4ym0zNL1lMmDQaiCMlAMhbvi02EY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6add748a2c32e9933d3d84cb9cd13963","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/28f4056f-1cb9-4034-9bf1-3b8652444596"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.246475,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/28f4056f-1cb9-4034-9bf1-3b8652444596","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/28f4056f-1cb9-4034-9bf1-3b8652444596","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401726,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNn0.GbvbDewMG4Rsm7O4ym0zNL1lMmDQaiCMlAMhbvi02EY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6add748a2c32e9933d3d84cb9cd13963"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/28f4056f-1cb9-4034-9bf1-3b8652444596"} gateway-1 | {"time_local":"29/Apr/2024:14:42:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/28f4056f-1cb9-4034-9bf1-3b8652444596 HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6add748a2c32e9933d3d84cb9cd13963"} experiment-1 | {"level":"info","message":"GET /experiments/28f4056f-1cb9-4034-9bf1-3b8652444596 200 16ms","method":"GET","requestID":"6add748a2c32e9933d3d84cb9cd13963","responseTime":16,"status":200,"url":"/experiments/28f4056f-1cb9-4034-9bf1-3b8652444596"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNn0.GbvbDewMG4Rsm7O4ym0zNL1lMmDQaiCMlAMhbvi02EY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"eb5b9ba0d33d9b9c697fb7cc5926a1f8","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/28f4056f-1cb9-4034-9bf1-3b8652444596"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.286574,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/28f4056f-1cb9-4034-9bf1-3b8652444596","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/28f4056f-1cb9-4034-9bf1-3b8652444596","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401726,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNn0.GbvbDewMG4Rsm7O4ym0zNL1lMmDQaiCMlAMhbvi02EY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eb5b9ba0d33d9b9c697fb7cc5926a1f8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/28f4056f-1cb9-4034-9bf1-3b8652444596"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.175071,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/baa2d57e-2e51-4679-9385-de82a4d27ce5","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:http://localhost/peerconnections/baa2d57e-2e51-4679-9385-de82a4d27ce5","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401726,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNn0.GbvbDewMG4Rsm7O4ym0zNL1lMmDQaiCMlAMhbvi02EY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a6ccb950-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/baa2d57e-2e51-4679-9385-de82a4d27ce5' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/baa2d57e-2e51-4679-9385-de82a4d27ce5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"baa2d57e-2e51-4679-9385-de82a4d27ce5","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbaa2d57e-2e51-4679-9385-de82a4d27ce5': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbaa2d57e-2e51-4679-9385-de82a4d27ce5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"9de73236-cc6c-4a22-b5d5-b749861bca50","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401726.8467524} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9324d5c7-2fa8-4783-9767-89575862c9a9","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401726.8474503} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f4a7366984555e7499da17e49f36e592","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/b17c2c89-f9ec-4333-9586-72ffb44cf03d"},{"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/83b1eb67-2861-4808-8105-e777d9d6915d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/baa2d57e-2e51-4679-9385-de82a4d27ce5"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ee7fd970a70540c94c897358eef44022","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a6ccb950-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} 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/b17c2c89-f9ec-4333-9586-72ffb44cf03d"},{"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/83b1eb67-2861-4808-8105-e777d9d6915d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/baa2d57e-2e51-4679-9385-de82a4d27ce5"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"baa2d57e-2e51-4679-9385-de82a4d27ce5","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/baa2d57e-2e51-4679-9385-de82a4d27ce5 204 54ms","method":"DELETE","requestID":"a6ccb950-0636-11ef-8c83-05b823ec2e4f","responseTime":54,"status":204,"url":"/peerconnections/baa2d57e-2e51-4679-9385-de82a4d27ce5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/28f4056f-1cb9-4034-9bf1-3b8652444596"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb17c2c89-f9ec-4333-9586-72ffb44cf03d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6a99d5fc-a6eb-4fc1-9794-9d765eb1be56","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401726.9057808} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.011754,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a6d8c740-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d/signaling 200 14ms","method":"POST","requestID":"a6d8c740-0636-11ef-8c83-05b823ec2e4f","responseTime":14,"status":200,"url":"/devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d/signaling"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F28f4056f-1cb9-4034-9bf1-3b8652444596': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F28f4056f-1cb9-4034-9bf1-3b8652444596","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"6b2544a4-eba5-465f-8e1e-644eb084ba81","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401726.9158378} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1303b02f-b007-469e-b0e7-a167ed87a3bd","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401726.9162433} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eb5b9ba0d33d9b9c697fb7cc5926a1f8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83b1eb67-2861-4808-8105-e777d9d6915d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8a3d1bab-cfc5-449b-9e72-b3b6abc075ea","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401726.9234242} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.842505,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/83b1eb67-2861-4808-8105-e777d9d6915d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/83b1eb67-2861-4808-8105-e777d9d6915d","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a6db5f50-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/83b1eb67-2861-4808-8105-e777d9d6915d/signaling 200 15ms","method":"POST","requestID":"a6db5f50-0636-11ef-8c83-05b823ec2e4f","responseTime":15,"status":200,"url":"/devices/83b1eb67-2861-4808-8105-e777d9d6915d/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/28f4056f-1cb9-4034-9bf1-3b8652444596"} gateway-1 | {"time_local":"29/Apr/2024:14:42:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/28f4056f-1cb9-4034-9bf1-3b8652444596 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.180","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eb5b9ba0d33d9b9c697fb7cc5926a1f8"} experiment-1 | {"level":"info","message":"DELETE /experiments/28f4056f-1cb9-4034-9bf1-3b8652444596 204 175ms","method":"DELETE","requestID":"eb5b9ba0d33d9b9c697fb7cc5926a1f8","responseTime":175,"status":204,"url":"/experiments/28f4056f-1cb9-4034-9bf1-3b8652444596"} gateway-1 | {"time_local":"29/Apr/2024:14:42:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2199","request_time":"0.714","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"8fbafd5162d06473eb1a6dd689880bc8"} gateway-1 | {"time_local":"29/Apr/2024:14:42:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2201","request_time":"0.702","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"3b4ab5cb5a6a1af6f160bea58044045a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 131ms","method":"POST","requestID":"f4a7366984555e7499da17e49f36e592","responseTime":131,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.137","http_referrer":"","http_user_agent":"node-fetch","requestID":"f4a7366984555e7499da17e49f36e592"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 129ms","method":"POST","requestID":"ee7fd970a70540c94c897358eef44022","responseTime":129,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.138","http_referrer":"","http_user_agent":"node-fetch","requestID":"ee7fd970a70540c94c897358eef44022"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNn0.GbvbDewMG4Rsm7O4ym0zNL1lMmDQaiCMlAMhbvi02EY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a07ebec03492bd5fc3b87ea637e78e0b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b17c2c89-f9ec-4333-9586-72ffb44cf03d' closed"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.756242,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401726,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyNn0.GbvbDewMG4Rsm7O4ym0zNL1lMmDQaiCMlAMhbvi02EY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a07ebec03492bd5fc3b87ea637e78e0b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/83b1eb67-2861-4808-8105-e777d9d6915d' 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:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7062f1ab-4768-48a4-ac15-c3cb1e9bd033","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"560ce8b1-4b4f-48a8-a88a-3a03ad567884","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401727.0070364} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a07ebec03492bd5fc3b87ea637e78e0b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1918377d-b955-472d-83de-a8bff9620126","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401727.0117352} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a07ebec03492bd5fc3b87ea637e78e0b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7062f1ab-4768-48a4-ac15-c3cb1e9bd033","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"4e5d277c-475f-484f-be38-ffc41e6e4278","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401727.0245972} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"017628cd-182a-4c1a-bab9-841283aa65ba","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401727.0247412} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a07ebec03492bd5fc3b87ea637e78e0b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7062f1ab-4768-48a4-ac15-c3cb1e9bd033","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7062f1ab-4768-48a4-ac15-c3cb1e9bd033","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:07.024567285Z"}]},"request_id":"6317e2bd-95d0-463e-b824-19464d99db71","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401727.0298636} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a07ebec03492bd5fc3b87ea637e78e0b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"a07ebec03492bd5fc3b87ea637e78e0b","responseTime":46,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a07ebec03492bd5fc3b87ea637e78e0b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyN30.baCFggL9Az9kIdhPjRapJgozCfza2FDiDO4lWFqt9W0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a8bba04791aa69ea3c1cbf6c12c75619","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:07Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.832283,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:07Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401727,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyN30.baCFggL9Az9kIdhPjRapJgozCfza2FDiDO4lWFqt9W0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a8bba04791aa69ea3c1cbf6c12c75619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94e2c18d-d268-4296-82d8-7424ffd61995","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8d9511c6-036a-49e5-a571-3a354a2a40f7","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401727.0554762} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a8bba04791aa69ea3c1cbf6c12c75619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aad4c756-c269-486f-b7f3-83f96f896c20","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401727.0609326} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a8bba04791aa69ea3c1cbf6c12c75619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94e2c18d-d268-4296-82d8-7424ffd61995","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"2d511048-b39f-49c3-9c96-9b2b326e56f4","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401727.0712674} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"01c0761d-9224-439a-9bb6-79a97065fef9","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401727.0715017} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a8bba04791aa69ea3c1cbf6c12c75619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94e2c18d-d268-4296-82d8-7424ffd61995","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94e2c18d-d268-4296-82d8-7424ffd61995","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:07.071235027Z"}]},"request_id":"5375e001-a496-465d-9ea2-62583fdaf413","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401727.0761776} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a8bba04791aa69ea3c1cbf6c12c75619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a8bba04791aa69ea3c1cbf6c12c75619"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"a8bba04791aa69ea3c1cbf6c12c75619","responseTime":40,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyN30.baCFggL9Az9kIdhPjRapJgozCfza2FDiDO4lWFqt9W0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"58a41ba7b58e09efc98310684c0e0a20","responseTime":5,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyN30.baCFggL9Az9kIdhPjRapJgozCfza2FDiDO4lWFqt9W0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d1fbcc7d872fb843f1688b48538a1c86","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:07Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:07Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.651108,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401727,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyN30.baCFggL9Az9kIdhPjRapJgozCfza2FDiDO4lWFqt9W0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"58a41ba7b58e09efc98310684c0e0a20"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.191652,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/94e2c18d-d268-4296-82d8-7424ffd61995","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/94e2c18d-d268-4296-82d8-7424ffd61995","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401727,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyN30.baCFggL9Az9kIdhPjRapJgozCfza2FDiDO4lWFqt9W0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d1fbcc7d872fb843f1688b48538a1c86"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7062f1ab-4768-48a4-ac15-c3cb1e9bd033","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7062f1ab-4768-48a4-ac15-c3cb1e9bd033","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:07.024567285Z"}]},"request_id":"c1ef72b7-63b5-4534-a14e-e1c3d0708b40","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401727.5642576} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"58a41ba7b58e09efc98310684c0e0a20"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94e2c18d-d268-4296-82d8-7424ffd61995","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94e2c18d-d268-4296-82d8-7424ffd61995","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:07.071235027Z"}]},"request_id":"2d5807bd-b936-4a4a-8b25-e8c62d17f9ac","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401727.5651746} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d1fbcc7d872fb843f1688b48538a1c86"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b9e9c786-9b25-4122-a91f-f60ab8e94029","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401727.5701225} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"58a41ba7b58e09efc98310684c0e0a20"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fb72afa6-90cc-4574-8b9f-df7e0f0e28f9","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401727.5728588} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d1fbcc7d872fb843f1688b48538a1c86"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94e2c18d-d268-4296-82d8-7424ffd61995","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94e2c18d-d268-4296-82d8-7424ffd61995","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:07.071235027Z"}]},"request_id":"550f7f54-631a-4b39-ab8b-bd23e17bde8f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401727.575919} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d1fbcc7d872fb843f1688b48538a1c86"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/94e2c18d-d268-4296-82d8-7424ffd61995 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.033","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"d1fbcc7d872fb843f1688b48538a1c86"} device-1 | {"level":"info","message":"PATCH /devices/94e2c18d-d268-4296-82d8-7424ffd61995 200 24ms","method":"PATCH","requestID":"d1fbcc7d872fb843f1688b48538a1c86","responseTime":24,"status":200,"url":"/devices/94e2c18d-d268-4296-82d8-7424ffd61995"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyN30.baCFggL9Az9kIdhPjRapJgozCfza2FDiDO4lWFqt9W0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dab1e163acbc3ce29b4dfead05f9686a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:07Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.6372,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/94e2c18d-d268-4296-82d8-7424ffd61995","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/94e2c18d-d268-4296-82d8-7424ffd61995","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401727,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyN30.baCFggL9Az9kIdhPjRapJgozCfza2FDiDO4lWFqt9W0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dab1e163acbc3ce29b4dfead05f9686a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7062f1ab-4768-48a4-ac15-c3cb1e9bd033","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7062f1ab-4768-48a4-ac15-c3cb1e9bd033","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:07.024567285Z"}]},"request_id":"34ba30ef-9354-402f-b036-b4fba32592ff","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401727.5890653} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"58a41ba7b58e09efc98310684c0e0a20"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033 200 41ms","method":"PATCH","requestID":"58a41ba7b58e09efc98310684c0e0a20","responseTime":41,"status":200,"url":"/devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033"} gateway-1 | {"time_local":"29/Apr/2024:14:42:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.048","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"58a41ba7b58e09efc98310684c0e0a20"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyN30.baCFggL9Az9kIdhPjRapJgozCfza2FDiDO4lWFqt9W0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e399fcd3ffa0a822de2010eb57fd6529","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:07Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.685562,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401727,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyN30.baCFggL9Az9kIdhPjRapJgozCfza2FDiDO4lWFqt9W0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e399fcd3ffa0a822de2010eb57fd6529"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/94e2c18d-d268-4296-82d8-7424ffd61995/websocket 200 23ms","method":"POST","requestID":"dab1e163acbc3ce29b4dfead05f9686a","responseTime":23,"status":200,"url":"/devices/94e2c18d-d268-4296-82d8-7424ffd61995/websocket"} gateway-1 | {"time_local":"29/Apr/2024:14:42:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/94e2c18d-d268-4296-82d8-7424ffd61995/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"dab1e163acbc3ce29b4dfead05f9686a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033/websocket 200 17ms","method":"POST","requestID":"e399fcd3ffa0a822de2010eb57fd6529","responseTime":17,"status":200,"url":"/devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033/websocket"} gateway-1 | {"time_local":"29/Apr/2024:14:42:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.023","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"e399fcd3ffa0a822de2010eb57fd6529"} device-1 | {"level":"info","message":"device 'http://localhost/devices/94e2c18d-d268-4296-82d8-7424ffd61995' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyN30.baCFggL9Az9kIdhPjRapJgozCfza2FDiDO4lWFqt9W0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1f8f93b51801b4e9977f3d7a39dfabca","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:07Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.108483,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401727,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyN30.baCFggL9Az9kIdhPjRapJgozCfza2FDiDO4lWFqt9W0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1f8f93b51801b4e9977f3d7a39dfabca"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7062f1ab-4768-48a4-ac15-c3cb1e9bd033","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7062f1ab-4768-48a4-ac15-c3cb1e9bd033","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:07.024567285Z"}]},"request_id":"f70a5eda-0644-44c0-afbb-d0e547571cc8","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401727.647709} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1f8f93b51801b4e9977f3d7a39dfabca"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033? 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":"1f8f93b51801b4e9977f3d7a39dfabca"} device-1 | {"level":"info","message":"GET /devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033? 200 13ms","method":"GET","requestID":"1f8f93b51801b4e9977f3d7a39dfabca","responseTime":13,"status":200,"url":"/devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyN30.baCFggL9Az9kIdhPjRapJgozCfza2FDiDO4lWFqt9W0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cd7920e92920a6f67fc0a6abb3e26fcd","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:07Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.889134,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/94e2c18d-d268-4296-82d8-7424ffd61995","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/94e2c18d-d268-4296-82d8-7424ffd61995","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401727,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyN30.baCFggL9Az9kIdhPjRapJgozCfza2FDiDO4lWFqt9W0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cd7920e92920a6f67fc0a6abb3e26fcd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94e2c18d-d268-4296-82d8-7424ffd61995","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94e2c18d-d268-4296-82d8-7424ffd61995","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:07.071235027Z"}]},"request_id":"2a43f562-5fd6-48ab-83e4-50762ef5ab5e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401727.666617} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cd7920e92920a6f67fc0a6abb3e26fcd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/94e2c18d-d268-4296-82d8-7424ffd61995? 200 16ms","method":"GET","requestID":"cd7920e92920a6f67fc0a6abb3e26fcd","responseTime":16,"status":200,"url":"/devices/94e2c18d-d268-4296-82d8-7424ffd61995?"} gateway-1 | {"time_local":"29/Apr/2024:14:42:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/94e2c18d-d268-4296-82d8-7424ffd61995? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cd7920e92920a6f67fc0a6abb3e26fcd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyN30.baCFggL9Az9kIdhPjRapJgozCfza2FDiDO4lWFqt9W0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"de192c7c36690ccf52b8b6bf5ff5826a","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:07Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.144872,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:07Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401727,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyN30.baCFggL9Az9kIdhPjRapJgozCfza2FDiDO4lWFqt9W0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"de192c7c36690ccf52b8b6bf5ff5826a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/93f285e0-a916-4a00-b764-570c1e643266"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/93f285e0-a916-4a00-b764-570c1e643266"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/93f285e0-a916-4a00-b764-570c1e643266"},"level":"info","message":"Successfully booked experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:07Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.93852,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401727,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyN30.baCFggL9Az9kIdhPjRapJgozCfza2FDiDO4lWFqt9W0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a758a5a0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:07Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.947565,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/94e2c18d-d268-4296-82d8-7424ffd61995","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/94e2c18d-d268-4296-82d8-7424ffd61995","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401727,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyN30.baCFggL9Az9kIdhPjRapJgozCfza2FDiDO4lWFqt9W0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a758f3c0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7062f1ab-4768-48a4-ac15-c3cb1e9bd033","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7062f1ab-4768-48a4-ac15-c3cb1e9bd033","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:07.024567285Z"}]},"request_id":"3466d2f0-09af-4d88-aa7d-30bc5cd71fd2","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401727.7483375} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a758a5a0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94e2c18d-d268-4296-82d8-7424ffd61995","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94e2c18d-d268-4296-82d8-7424ffd61995","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:07.071235027Z"}]},"request_id":"86bbe451-1f3c-4c1b-a794-da2270dbf76f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401727.7502353} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a758f3c0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033? 200 18ms","method":"GET","requestID":"a758a5a0-0636-11ef-8c83-05b823ec2e4f","responseTime":18,"status":200,"url":"/devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/94e2c18d-d268-4296-82d8-7424ffd61995? 200 17ms","method":"GET","requestID":"a758f3c0-0636-11ef-8c83-05b823ec2e4f","responseTime":17,"status":200,"url":"/devices/94e2c18d-d268-4296-82d8-7424ffd61995?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/93f285e0-a916-4a00-b764-570c1e643266"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/93f285e0-a916-4a00-b764-570c1e643266"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/93f285e0-a916-4a00-b764-570c1e643266"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/93f285e0-a916-4a00-b764-570c1e643266"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/93f285e0-a916-4a00-b764-570c1e643266"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/93f285e0-a916-4a00-b764-570c1e643266"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/93f285e0-a916-4a00-b764-570c1e643266"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/93f285e0-a916-4a00-b764-570c1e643266"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/93f285e0-a916-4a00-b764-570c1e643266"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:07Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.563199,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401727,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyN30.baCFggL9Az9kIdhPjRapJgozCfza2FDiDO4lWFqt9W0"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a763a220-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:07Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.594054,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/94e2c18d-d268-4296-82d8-7424ffd61995","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/94e2c18d-d268-4296-82d8-7424ffd61995","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401727,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyN30.baCFggL9Az9kIdhPjRapJgozCfza2FDiDO4lWFqt9W0"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a763f040-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7062f1ab-4768-48a4-ac15-c3cb1e9bd033","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7062f1ab-4768-48a4-ac15-c3cb1e9bd033","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:07.024567285Z"}]},"request_id":"92033712-e9ef-473f-84e8-dbb4d50ba13e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401727.8308961} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94e2c18d-d268-4296-82d8-7424ffd61995","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94e2c18d-d268-4296-82d8-7424ffd61995","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:07.071235027Z"}]},"request_id":"510dfeb7-3b4a-45bf-b96e-27619d10bfa1","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401727.833791} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a763a220-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:54044","level":"info","msg":"Received request.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:07Z"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a763f040-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7062f1ab-4768-48a4-ac15-c3cb1e9bd033","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6274d57e-72b2-4b6b-acdf-09b485b829a8","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401727.8376114} authorization-1 | {"client_addr":"127.0.0.1:54044","level":"info","msg":"Sent response.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.243641,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 24ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a7643e60-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":24}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F93f285e0-a916-4a00-b764-570c1e643266#owner@http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F93f285e0-a916-4a00-b764-570c1e643266","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"a46fd9a4-02cd-4140-ae65-20b83a25bb2a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401727.8427289} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"47cf1488-bbde-406e-b15a-ca46f9382ac8","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401727.8436425} authorization-1 | {"level":"info","message":"POST /relations/update 200 25ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"de192c7c36690ccf52b8b6bf5ff5826a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":25}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033? 200 40ms","method":"GET","requestID":"a763a220-0636-11ef-8c83-05b823ec2e4f","responseTime":40,"status":200,"url":"/devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/94e2c18d-d268-4296-82d8-7424ffd61995? 200 40ms","method":"GET","requestID":"a763f040-0636-11ef-8c83-05b823ec2e4f","responseTime":40,"status":200,"url":"/devices/94e2c18d-d268-4296-82d8-7424ffd61995?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033/signaling 200 40ms","method":"POST","requestID":"a7643e60-0636-11ef-8c83-05b823ec2e4f","responseTime":40,"status":200,"url":"/devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:07Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/93f285e0-a916-4a00-b764-570c1e643266","user":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"29/Apr/2024:14:42:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.193","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"de192c7c36690ccf52b8b6bf5ff5826a"} experiment-1 | {"level":"info","message":"POST /experiments? 201 187ms","method":"POST","requestID":"de192c7c36690ccf52b8b6bf5ff5826a","responseTime":187,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7062f1ab-4768-48a4-ac15-c3cb1e9bd033","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"45499b90-80ce-4399-9cf2-39de0da69f25","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401727.8663137} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.183576,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:07Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a76ace10-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyN30.baCFggL9Az9kIdhPjRapJgozCfza2FDiDO4lWFqt9W0","level":"info","message":"auth send jwt"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94e2c18d-d268-4296-82d8-7424ffd61995","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b7f32ef6-a263-4fd4-9694-b9ac381beafe","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401727.87256} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"150a9c9700320ab0ee9e0a76177fcd2d","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.246171,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:07Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/94e2c18d-d268-4296-82d8-7424ffd61995","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/94e2c18d-d268-4296-82d8-7424ffd61995","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/7062f1ab-4768-48a4-ac15-c3cb1e9bd033/signaling 200 18ms","method":"POST","requestID":"a76ace10-0636-11ef-8c83-05b823ec2e4f","responseTime":18,"status":200,"url":"/devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a76bb870-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:07Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.37915,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:07Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401727,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyN30.baCFggL9Az9kIdhPjRapJgozCfza2FDiDO4lWFqt9W0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"150a9c9700320ab0ee9e0a76177fcd2d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/94e2c18d-d268-4296-82d8-7424ffd61995/signaling 200 23ms","method":"POST","requestID":"a76bb870-0636-11ef-8c83-05b823ec2e4f","responseTime":23,"status":200,"url":"/devices/94e2c18d-d268-4296-82d8-7424ffd61995/signaling"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42: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:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7062f1ab-4768-48a4-ac15-c3cb1e9bd033","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7062f1ab-4768-48a4-ac15-c3cb1e9bd033","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:07.024567285Z"}]},"request_id":"7da75c76-6001-4280-a7fd-405b4f973053","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401727.8866587} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"150a9c9700320ab0ee9e0a76177fcd2d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94e2c18d-d268-4296-82d8-7424ffd61995","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fc67414a-1dd1-4b17-aec7-9ee30011ca17","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401727.8871512} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.067303,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/94e2c18d-d268-4296-82d8-7424ffd61995","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/94e2c18d-d268-4296-82d8-7424ffd61995","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a76e5080-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"150a9c9700320ab0ee9e0a76177fcd2d"} device-1 | {"level":"info","message":"GET /devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033? 200 18ms","method":"GET","requestID":"150a9c9700320ab0ee9e0a76177fcd2d","responseTime":18,"status":200,"url":"/devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/94e2c18d-d268-4296-82d8-7424ffd61995/signaling 200 15ms","method":"POST","requestID":"a76e5080-0636-11ef-8c83-05b823ec2e4f","responseTime":15,"status":200,"url":"/devices/94e2c18d-d268-4296-82d8-7424ffd61995/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/93f285e0-a916-4a00-b764-570c1e643266"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/93f285e0-a916-4a00-b764-570c1e643266"},"level":"info","message":"Building connection plan"} 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":"c9bf183d-0428-4684-b31c-5bea5e9ab5e2"},{"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":"c09994ab-c8f9-4346-82e2-8a47e6a59c3f"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"06fbfd46-61e8-48af-b01e-ad3b975c6cdf"}]},"level":"info","message":"Built pairwise service configurations"} 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/94e2c18d-d268-4296-82d8-7424ffd61995"},{"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/7062f1ab-4768-48a4-ac15-c3cb1e9bd033"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyN30.baCFggL9Az9kIdhPjRapJgozCfza2FDiDO4lWFqt9W0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"06df5a8803804e772fb4415448e44e63","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:07Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.43744,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:07Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401727,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyN30.baCFggL9Az9kIdhPjRapJgozCfza2FDiDO4lWFqt9W0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a7715dc0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:07Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.146478,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/94e2c18d-d268-4296-82d8-7424ffd61995","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/94e2c18d-d268-4296-82d8-7424ffd61995","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401727,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyN30.baCFggL9Az9kIdhPjRapJgozCfza2FDiDO4lWFqt9W0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"06df5a8803804e772fb4415448e44e63"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94e2c18d-d268-4296-82d8-7424ffd61995","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94e2c18d-d268-4296-82d8-7424ffd61995","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:07.071235027Z"}]},"request_id":"0568d577-39ec-4387-8ed5-42290e7329b6","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401727.914356} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"06df5a8803804e772fb4415448e44e63"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/94e2c18d-d268-4296-82d8-7424ffd61995? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"06df5a8803804e772fb4415448e44e63"} device-1 | {"level":"info","message":"GET /devices/94e2c18d-d268-4296-82d8-7424ffd61995? 200 17ms","method":"GET","requestID":"06df5a8803804e772fb4415448e44e63","responseTime":17,"status":200,"url":"/devices/94e2c18d-d268-4296-82d8-7424ffd61995?"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","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%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"3c16cbbf-fdff-487b-a250-0b85c0b8d8d8","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401727.920597} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ed842897-923c-4485-b2b0-23ba972bd4a8","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401727.9217472} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a7715dc0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/3429e0fe-2ff8-4bbb-b429-e774a90bd8ed'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/3429e0fe-2ff8-4bbb-b429-e774a90bd8ed'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 43ms","method":"POST","requestID":"a7715dc0-0636-11ef-8c83-05b823ec2e4f","responseTime":43,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device-1 | {"data":{"peerconnection":"3429e0fe-2ff8-4bbb-b429-e774a90bd8ed","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/93f285e0-a916-4a00-b764-570c1e643266"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"data":{"peerconnection":"3429e0fe-2ff8-4bbb-b429-e774a90bd8ed","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:07Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7062f1ab-4768-48a4-ac15-c3cb1e9bd033","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1644c673-e075-482e-a98d-57644aa329cc","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401727.986068} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.898663,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a77d6bb0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/3429e0fe-2ff8-4bbb-b429-e774a90bd8ed' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3429e0fe-2ff8-4bbb-b429-e774a90bd8ed","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"242a506025d98ab2365044fb000c6457","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} 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/94e2c18d-d268-4296-82d8-7424ffd61995"},{"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/7062f1ab-4768-48a4-ac15-c3cb1e9bd033"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/3429e0fe-2ff8-4bbb-b429-e774a90bd8ed"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"POST /devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033/signaling 200 18ms","method":"POST","requestID":"a77d6bb0-0636-11ef-8c83-05b823ec2e4f","responseTime":18,"status":200,"url":"/devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:08Z"} device-1 | {"data":{"peerconnection":"3429e0fe-2ff8-4bbb-b429-e774a90bd8ed","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 11ms","method":"POST","requestID":"242a506025d98ab2365044fb000c6457","responseTime":11,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch","requestID":"242a506025d98ab2365044fb000c6457"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94e2c18d-d268-4296-82d8-7424ffd61995","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f815bc11-c1e8-430a-8d0e-0453dad585aa","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401728.0094001} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.235724,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/94e2c18d-d268-4296-82d8-7424ffd61995","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/94e2c18d-d268-4296-82d8-7424ffd61995","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a7811530-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/94e2c18d-d268-4296-82d8-7424ffd61995/signaling 200 19ms","method":"POST","requestID":"a7811530-0636-11ef-8c83-05b823ec2e4f","responseTime":19,"status":200,"url":"/devices/94e2c18d-d268-4296-82d8-7424ffd61995/signaling"} device-1 | {"data":{"peerconnection":"3429e0fe-2ff8-4bbb-b429-e774a90bd8ed","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/3429e0fe-2ff8-4bbb-b429-e774a90bd8ed' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3429e0fe-2ff8-4bbb-b429-e774a90bd8ed","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ff27d168524a854ed5e82e7271d6628d","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/94e2c18d-d268-4296-82d8-7424ffd61995"},{"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/7062f1ab-4768-48a4-ac15-c3cb1e9bd033"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/3429e0fe-2ff8-4bbb-b429-e774a90bd8ed"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:08Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3429e0fe-2ff8-4bbb-b429-e774a90bd8ed","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5e0a526b-8c46-41e3-8a4e-407d5d9bd030","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401728.054217} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.23685,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3429e0fe-2ff8-4bbb-b429-e774a90bd8ed","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/3429e0fe-2ff8-4bbb-b429-e774a90bd8ed","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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a7881a10-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/3429e0fe-2ff8-4bbb-b429-e774a90bd8ed 200 9ms","method":"GET","requestID":"a7881a10-0636-11ef-8c83-05b823ec2e4f","responseTime":9,"status":200,"url":"/peerconnections/3429e0fe-2ff8-4bbb-b429-e774a90bd8ed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 32ms","method":"POST","requestID":"ff27d168524a854ed5e82e7271d6628d","responseTime":32,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.035","http_referrer":"","http_user_agent":"node-fetch","requestID":"ff27d168524a854ed5e82e7271d6628d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:08Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94e2c18d-d268-4296-82d8-7424ffd61995","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7c35fb65-2b63-42fe-8776-49c93b0d79fb","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401728.0830433} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.995523,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/94e2c18d-d268-4296-82d8-7424ffd61995","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/94e2c18d-d268-4296-82d8-7424ffd61995","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a78c5fd0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/94e2c18d-d268-4296-82d8-7424ffd61995/signaling 200 11ms","method":"POST","requestID":"a78c5fd0-0636-11ef-8c83-05b823ec2e4f","responseTime":11,"status":200,"url":"/devices/94e2c18d-d268-4296-82d8-7424ffd61995/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:08Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7062f1ab-4768-48a4-ac15-c3cb1e9bd033","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1c40947e-72d5-44af-b605-74b372a4054b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401728.0961359} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.087965,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a78e82b0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033/signaling 200 15ms","method":"POST","requestID":"a78e82b0-0636-11ef-8c83-05b823ec2e4f","responseTime":15,"status":200,"url":"/devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyOH0.uiv1dH-YiDU-Q1ZmVWU7wjfTBMyPC1EofFvw8B4PrJc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"70454c13d16d61178eceabc90d5c1988","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/93f285e0-a916-4a00-b764-570c1e643266"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:08Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.21719,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/93f285e0-a916-4a00-b764-570c1e643266","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/93f285e0-a916-4a00-b764-570c1e643266","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401728,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyOH0.uiv1dH-YiDU-Q1ZmVWU7wjfTBMyPC1EofFvw8B4PrJc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"70454c13d16d61178eceabc90d5c1988"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/93f285e0-a916-4a00-b764-570c1e643266"} experiment-1 | {"level":"info","message":"GET /experiments/93f285e0-a916-4a00-b764-570c1e643266 200 16ms","method":"GET","requestID":"70454c13d16d61178eceabc90d5c1988","responseTime":16,"status":200,"url":"/experiments/93f285e0-a916-4a00-b764-570c1e643266"} gateway-1 | {"time_local":"29/Apr/2024:14:42:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/93f285e0-a916-4a00-b764-570c1e643266 HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"70454c13d16d61178eceabc90d5c1988"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyOH0.uiv1dH-YiDU-Q1ZmVWU7wjfTBMyPC1EofFvw8B4PrJc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3f947f0258987c8086b06d888103fac1","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/93f285e0-a916-4a00-b764-570c1e643266"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:08Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.24136,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:08Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/93f285e0-a916-4a00-b764-570c1e643266","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/93f285e0-a916-4a00-b764-570c1e643266","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401728,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyOH0.uiv1dH-YiDU-Q1ZmVWU7wjfTBMyPC1EofFvw8B4PrJc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3f947f0258987c8086b06d888103fac1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/93f285e0-a916-4a00-b764-570c1e643266"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:08Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.396454,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:08Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3429e0fe-2ff8-4bbb-b429-e774a90bd8ed","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:http://localhost/peerconnections/3429e0fe-2ff8-4bbb-b429-e774a90bd8ed","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401728,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyOH0.uiv1dH-YiDU-Q1ZmVWU7wjfTBMyPC1EofFvw8B4PrJc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a79c8c70-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/3429e0fe-2ff8-4bbb-b429-e774a90bd8ed' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/3429e0fe-2ff8-4bbb-b429-e774a90bd8ed' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3429e0fe-2ff8-4bbb-b429-e774a90bd8ed","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3429e0fe-2ff8-4bbb-b429-e774a90bd8ed': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3429e0fe-2ff8-4bbb-b429-e774a90bd8ed","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"f3e60730-69cd-4f2c-a73b-197cd84a53d8","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401728.2071593} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7943b922-515a-441d-a560-05379d67ceca","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401728.2076316} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"41d5fd4b393c50f079c7e618841d3bab","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a79c8c70-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"4144ebc2727a368e309ef2e424f34c74","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/94e2c18d-d268-4296-82d8-7424ffd61995"},{"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/7062f1ab-4768-48a4-ac15-c3cb1e9bd033"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3429e0fe-2ff8-4bbb-b429-e774a90bd8ed"}}},"level":"info","message":"received a callback"} 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/94e2c18d-d268-4296-82d8-7424ffd61995"},{"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/7062f1ab-4768-48a4-ac15-c3cb1e9bd033"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3429e0fe-2ff8-4bbb-b429-e774a90bd8ed"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/3429e0fe-2ff8-4bbb-b429-e774a90bd8ed 204 57ms","method":"DELETE","requestID":"a79c8c70-0636-11ef-8c83-05b823ec2e4f","responseTime":57,"status":204,"url":"/peerconnections/3429e0fe-2ff8-4bbb-b429-e774a90bd8ed"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/93f285e0-a916-4a00-b764-570c1e643266"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:08Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94e2c18d-d268-4296-82d8-7424ffd61995","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ffe393ed-1391-484e-8378-1ad50f04d88b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401728.2702498} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.875558,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/94e2c18d-d268-4296-82d8-7424ffd61995","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/94e2c18d-d268-4296-82d8-7424ffd61995","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a7a8c170-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/94e2c18d-d268-4296-82d8-7424ffd61995/signaling 200 15ms","method":"POST","requestID":"a7a8c170-0636-11ef-8c83-05b823ec2e4f","responseTime":15,"status":200,"url":"/devices/94e2c18d-d268-4296-82d8-7424ffd61995/signaling"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F93f285e0-a916-4a00-b764-570c1e643266': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F93f285e0-a916-4a00-b764-570c1e643266","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"cd2b9c7d-801a-4b73-aede-15aca1978393","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401728.28008} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7a439876-67ea-476f-8975-d8773925098c","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401728.2805696} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3f947f0258987c8086b06d888103fac1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:08Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7062f1ab-4768-48a4-ac15-c3cb1e9bd033","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e5d60406-708a-4f22-a1da-39a8b1cced03","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401728.2880957} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.871988,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a7ab8090-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033/signaling 200 15ms","method":"POST","requestID":"a7ab8090-0636-11ef-8c83-05b823ec2e4f","responseTime":15,"status":200,"url":"/devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/93f285e0-a916-4a00-b764-570c1e643266"} gateway-1 | {"time_local":"29/Apr/2024:14:42:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/93f285e0-a916-4a00-b764-570c1e643266 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.187","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3f947f0258987c8086b06d888103fac1"} gateway-1 | {"time_local":"29/Apr/2024:14:42:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2201","request_time":"0.727","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"a420a9cef2fa2c6d833b165c787b53cb"} gateway-1 | {"time_local":"29/Apr/2024:14:42:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2199","request_time":"0.737","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"c995de4af4ab0633fb1df16ed80a0606"} experiment-1 | {"level":"info","message":"DELETE /experiments/93f285e0-a916-4a00-b764-570c1e643266 204 181ms","method":"DELETE","requestID":"3f947f0258987c8086b06d888103fac1","responseTime":181,"status":204,"url":"/experiments/93f285e0-a916-4a00-b764-570c1e643266"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 138ms","method":"POST","requestID":"41d5fd4b393c50f079c7e618841d3bab","responseTime":138,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.143","http_referrer":"","http_user_agent":"node-fetch","requestID":"41d5fd4b393c50f079c7e618841d3bab"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 138ms","method":"POST","requestID":"4144ebc2727a368e309ef2e424f34c74","responseTime":138,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyOH0.uiv1dH-YiDU-Q1ZmVWU7wjfTBMyPC1EofFvw8B4PrJc","level":"info","message":"auth send jwt"} gateway-1 | {"time_local":"29/Apr/2024:14:42:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.146","http_referrer":"","http_user_agent":"node-fetch","requestID":"4144ebc2727a368e309ef2e424f34c74"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"61926fea54c78ec06f4499aaaac4a9f9","responseTime":4,"status":200,"url":"/auth"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/94e2c18d-d268-4296-82d8-7424ffd61995' closed"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:08Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.249137,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401728,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyOH0.uiv1dH-YiDU-Q1ZmVWU7wjfTBMyPC1EofFvw8B4PrJc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"61926fea54c78ec06f4499aaaac4a9f9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/7062f1ab-4768-48a4-ac15-c3cb1e9bd033' 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:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d7a20801-7480-4a6e-a2c2-b11ecbd713ff","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401728.3786497} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"61926fea54c78ec06f4499aaaac4a9f9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"65d7b600-1367-42e8-b92c-1c162b1a842f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401728.3874583} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"61926fea54c78ec06f4499aaaac4a9f9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"52a32a2a-6cf5-4289-9e9f-089c86c2ca32","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401728.3984418} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fa64c774-ee30-4139-93d0-761d276a6ec9","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401728.398784} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"61926fea54c78ec06f4499aaaac4a9f9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:08.398400397Z"}]},"request_id":"f19a1c82-2a5d-498d-80bf-29b7b5e4d840","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401728.4041216} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"61926fea54c78ec06f4499aaaac4a9f9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 51ms","method":"POST","requestID":"61926fea54c78ec06f4499aaaac4a9f9","responseTime":51,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2024:14:42:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"61926fea54c78ec06f4499aaaac4a9f9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyOH0.uiv1dH-YiDU-Q1ZmVWU7wjfTBMyPC1EofFvw8B4PrJc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2274643f4bcf86032a9a37ba8554a13e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:08Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.875096,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401728,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTcyOH0.uiv1dH-YiDU-Q1ZmVWU7wjfTBMyPC1EofFvw8B4PrJc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2274643f4bcf86032a9a37ba8554a13e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9edeb96a-1d98-45dd-a378-a9c2ba0e240d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c63fc481-15ad-49cb-90d2-5ed12ec83fa7","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401728.4307492} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2274643f4bcf86032a9a37ba8554a13e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"55ba0555-ba40-4549-a0ed-402535690ef3","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401728.4357183} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2274643f4bcf86032a9a37ba8554a13e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9edeb96a-1d98-45dd-a378-a9c2ba0e240d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"70b53179-a455-4027-8ac8-294a3fa835af","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401728.447131} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"710a4865-0cca-44eb-8e97-4fb35e423778","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401728.4476423} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2274643f4bcf86032a9a37ba8554a13e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9edeb96a-1d98-45dd-a378-a9c2ba0e240d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9edeb96a-1d98-45dd-a378-a9c2ba0e240d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:08.447095475Z"}]},"request_id":"ac1d6949-dfbc-4c84-ac0c-cea5a4e572ba","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401728.4524024} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2274643f4bcf86032a9a37ba8554a13e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2274643f4bcf86032a9a37ba8554a13e"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"2274643f4bcf86032a9a37ba8554a13e","responseTime":42,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"46c4d417a8ff0c797906a09e1a47f144","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2024:14:42:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30/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":"46c4d417a8ff0c797906a09e1a47f144"} device-1 | {"level":"info","message":"OPTIONS /devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30/websocket 200 1ms","method":"OPTIONS","requestID":"46c4d417a8ff0c797906a09e1a47f144","responseTime":1,"status":200,"url":"/devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczMH0.355pGbNz8IH-_jM4HQS0AD-sQPjO-EoVVAM_FGuRyns","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"15ef69042f35b9e13d0018400e6d8861","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"24e2adad313a0890176394d9f7fee006","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2024:14:42:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d/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":"24e2adad313a0890176394d9f7fee006"} device-1 | {"level":"info","message":"OPTIONS /devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d/websocket 200 1ms","method":"OPTIONS","requestID":"24e2adad313a0890176394d9f7fee006","responseTime":1,"status":200,"url":"/devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d/websocket"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:10Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.202767,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:10Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczMH0.355pGbNz8IH-_jM4HQS0AD-sQPjO-EoVVAM_FGuRyns","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4435bdfaff31c020bd6696c2324b8696","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401730,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczMH0.355pGbNz8IH-_jM4HQS0AD-sQPjO-EoVVAM_FGuRyns"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"15ef69042f35b9e13d0018400e6d8861"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:10Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.536345,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401730,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczMH0.355pGbNz8IH-_jM4HQS0AD-sQPjO-EoVVAM_FGuRyns"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4435bdfaff31c020bd6696c2324b8696"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30/websocket 200 48ms","method":"POST","requestID":"15ef69042f35b9e13d0018400e6d8861","responseTime":48,"status":200,"url":"/devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30/websocket"} gateway-1 | {"time_local":"29/Apr/2024:14:42:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.052","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"15ef69042f35b9e13d0018400e6d8861"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d/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":"4435bdfaff31c020bd6696c2324b8696"} device-1 | {"level":"info","message":"POST /devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d/websocket 200 42ms","method":"POST","requestID":"4435bdfaff31c020bd6696c2324b8696","responseTime":42,"status":200,"url":"/devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczMH0.355pGbNz8IH-_jM4HQS0AD-sQPjO-EoVVAM_FGuRyns","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d9a956fa65d9677d2302275537ba769e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:10Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.349954,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401730,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczMH0.355pGbNz8IH-_jM4HQS0AD-sQPjO-EoVVAM_FGuRyns"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d9a956fa65d9677d2302275537ba769e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:08.398400397Z"}]},"request_id":"eb0765ac-bf92-4c4c-90eb-2524b8e9ac6b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401730.4627368} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d9a956fa65d9677d2302275537ba769e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30? 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":"d9a956fa65d9677d2302275537ba769e"} device-1 | {"level":"info","message":"GET /devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30? 200 20ms","method":"GET","requestID":"d9a956fa65d9677d2302275537ba769e","responseTime":20,"status":200,"url":"/devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczMH0.355pGbNz8IH-_jM4HQS0AD-sQPjO-EoVVAM_FGuRyns","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a880f5d96ccd9625406962f77a3f7fbf","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:10Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.211359,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401730,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczMH0.355pGbNz8IH-_jM4HQS0AD-sQPjO-EoVVAM_FGuRyns"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a880f5d96ccd9625406962f77a3f7fbf"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9edeb96a-1d98-45dd-a378-a9c2ba0e240d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9edeb96a-1d98-45dd-a378-a9c2ba0e240d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:08.447095475Z"}]},"request_id":"8a2e4d19-2fb0-43ec-959e-95c4ec73fa0e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401730.491046} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a880f5d96ccd9625406962f77a3f7fbf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a880f5d96ccd9625406962f77a3f7fbf"} device-1 | {"level":"info","message":"GET /devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d? 200 22ms","method":"GET","requestID":"a880f5d96ccd9625406962f77a3f7fbf","responseTime":22,"status":200,"url":"/devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczMH0.355pGbNz8IH-_jM4HQS0AD-sQPjO-EoVVAM_FGuRyns","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"23162e9f0211c286cb9d8d8a41ca66d2","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:10Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.269156,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401730,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczMH0.355pGbNz8IH-_jM4HQS0AD-sQPjO-EoVVAM_FGuRyns"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"23162e9f0211c286cb9d8d8a41ca66d2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2460b4e-6e61-4141-b326-a1f44302422d"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2460b4e-6e61-4141-b326-a1f44302422d"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2460b4e-6e61-4141-b326-a1f44302422d"},"level":"info","message":"Successfully booked experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:10Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.611486,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:10Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401730,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczMH0.355pGbNz8IH-_jM4HQS0AD-sQPjO-EoVVAM_FGuRyns"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a907dc40-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.697175,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401730,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczMH0.355pGbNz8IH-_jM4HQS0AD-sQPjO-EoVVAM_FGuRyns"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a9082a60-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:08.398400397Z"}]},"request_id":"da529ac2-21be-4387-ad3b-dc76ed59d0db","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401730.5777955} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a907dc40-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9edeb96a-1d98-45dd-a378-a9c2ba0e240d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9edeb96a-1d98-45dd-a378-a9c2ba0e240d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:08.447095475Z"}]},"request_id":"b9d826fe-0c56-402f-baab-1348fdf86087","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401730.5793188} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a9082a60-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30? 200 23ms","method":"GET","requestID":"a907dc40-0636-11ef-8c83-05b823ec2e4f","responseTime":23,"status":200,"url":"/devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d? 200 22ms","method":"GET","requestID":"a9082a60-0636-11ef-8c83-05b823ec2e4f","responseTime":22,"status":200,"url":"/devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2460b4e-6e61-4141-b326-a1f44302422d"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2460b4e-6e61-4141-b326-a1f44302422d"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2460b4e-6e61-4141-b326-a1f44302422d"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2460b4e-6e61-4141-b326-a1f44302422d"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2460b4e-6e61-4141-b326-a1f44302422d"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2460b4e-6e61-4141-b326-a1f44302422d"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2460b4e-6e61-4141-b326-a1f44302422d"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2460b4e-6e61-4141-b326-a1f44302422d"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2460b4e-6e61-4141-b326-a1f44302422d"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:10Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.771569,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:10Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401730,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczMH0.355pGbNz8IH-_jM4HQS0AD-sQPjO-EoVVAM_FGuRyns"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a913c320-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.646796,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:10Z"} authorization-1 | {"client_addr":"127.0.0.1:54044","level":"info","msg":"Received request.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401730,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczMH0.355pGbNz8IH-_jM4HQS0AD-sQPjO-EoVVAM_FGuRyns"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a9141140-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:54044","level":"info","msg":"Sent response.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.981602,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:10Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c6e799a6-ea3a-4eef-b9e0-2d2881c7ddf5","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401730.6514533} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a9143850-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30/signaling 200 13ms","method":"POST","requestID":"a9143850-0636-11ef-8c83-05b823ec2e4f","responseTime":13,"status":200,"url":"/devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30/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:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:08.398400397Z"}]},"request_id":"636eb8b1-4c3a-4ac0-b11e-075151d8bd57","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401730.6582358} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9edeb96a-1d98-45dd-a378-a9c2ba0e240d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9edeb96a-1d98-45dd-a378-a9c2ba0e240d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:08.447095475Z"}]},"request_id":"0ddbfaef-1562-482d-ba7d-422062ad82df","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401730.6599593} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a913c320-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a9141140-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:10Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30? 200 27ms","method":"GET","requestID":"a913c320-0636-11ef-8c83-05b823ec2e4f","responseTime":27,"status":200,"url":"/devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d? 200 26ms","method":"GET","requestID":"a9141140-0636-11ef-8c83-05b823ec2e4f","responseTime":26,"status":200,"url":"/devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d?"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9edeb96a-1d98-45dd-a378-a9c2ba0e240d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e8c0c62b-3d75-4742-b283-dc0c7d471ec6","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401730.6687088} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.06635,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d","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"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a9168240-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa2460b4e-6e61-4141-b326-a1f44302422d#owner@http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa2460b4e-6e61-4141-b326-a1f44302422d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"23512f85-020f-4c23-badf-8ad6cfd506ec","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401730.6715748} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"725c964d-9209-4ce0-b948-16ccc4938e2f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401730.6718025} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"23162e9f0211c286cb9d8d8a41ca66d2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":22}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d/signaling 200 17ms","method":"POST","requestID":"a9168240-0636-11ef-8c83-05b823ec2e4f","responseTime":17,"status":200,"url":"/devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d/signaling"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:10Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2ccf924b-b92e-4778-adc3-5d8978bf0458","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401730.6801753} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.173499,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a9185700-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/a2460b4e-6e61-4141-b326-a1f44302422d","user":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment-1 | {"level":"info","message":"POST /experiments? 201 176ms","method":"POST","requestID":"23162e9f0211c286cb9d8d8a41ca66d2","responseTime":176,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"29/Apr/2024:14:42:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.183","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"23162e9f0211c286cb9d8d8a41ca66d2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30/signaling 200 15ms","method":"POST","requestID":"a9185700-0636-11ef-8c83-05b823ec2e4f","responseTime":15,"status":200,"url":"/devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczMH0.355pGbNz8IH-_jM4HQS0AD-sQPjO-EoVVAM_FGuRyns","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"570695858ba6cf0458b282f96ac36a10","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:10Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:10Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.743423,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401730,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczMH0.355pGbNz8IH-_jM4HQS0AD-sQPjO-EoVVAM_FGuRyns"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"570695858ba6cf0458b282f96ac36a10"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9edeb96a-1d98-45dd-a378-a9c2ba0e240d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2b2ab42f-87e8-4c33-a4d3-2b9a3bdd7ede","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401730.6943204} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.416544,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a91aef10-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:08.398400397Z"}]},"request_id":"3b17d9ac-e0e9-47f4-8ea7-a7c76583c212","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401730.6999693} device-1 | {"level":"info","message":"POST /devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d/signaling 200 11ms","method":"POST","requestID":"a91aef10-0636-11ef-8c83-05b823ec2e4f","responseTime":11,"status":200,"url":"/devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"570695858ba6cf0458b282f96ac36a10"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2460b4e-6e61-4141-b326-a1f44302422d"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2460b4e-6e61-4141-b326-a1f44302422d"},"level":"info","message":"Building connection plan"} 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":"1cc6940f-0eeb-4deb-838c-cba3e3c76e6f"},{"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":"f5222e3e-790e-41b4-b62b-3b61a514b16a"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"f439b66a-1bf9-415d-af20-539c5b405b98"}]},"level":"info","message":"Built pairwise service configurations"} 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/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30"},{"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/9edeb96a-1d98-45dd-a378-a9c2ba0e240d"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"570695858ba6cf0458b282f96ac36a10"} device-1 | {"level":"info","message":"GET /devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30? 200 15ms","method":"GET","requestID":"570695858ba6cf0458b282f96ac36a10","responseTime":15,"status":200,"url":"/devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30?"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:10Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.934075,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401730,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczMH0.355pGbNz8IH-_jM4HQS0AD-sQPjO-EoVVAM_FGuRyns"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a91d11f0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczMH0.355pGbNz8IH-_jM4HQS0AD-sQPjO-EoVVAM_FGuRyns","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a58f31873368e4d9eb9c0f31808ac24a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:10Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.887452,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401730,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczMH0.355pGbNz8IH-_jM4HQS0AD-sQPjO-EoVVAM_FGuRyns"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a58f31873368e4d9eb9c0f31808ac24a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","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%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"ba794b0d-f4b4-46c2-8875-5d0f6ebff9ca","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401730.7233953} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a29ecf32-3231-459e-94dc-0e6153f01b0e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401730.7237566} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9edeb96a-1d98-45dd-a378-a9c2ba0e240d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9edeb96a-1d98-45dd-a378-a9c2ba0e240d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:08.447095475Z"}]},"request_id":"cea6b040-5cc9-4c56-b374-b214342953fc","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401730.7245855} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a91d11f0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a58f31873368e4d9eb9c0f31808ac24a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a58f31873368e4d9eb9c0f31808ac24a"} device-1 | {"level":"info","message":"GET /devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d? 200 18ms","method":"GET","requestID":"a58f31873368e4d9eb9c0f31808ac24a","responseTime":18,"status":200,"url":"/devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/8dd848a8-d2c5-495f-84b3-cf27bf4c78af'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/8dd848a8-d2c5-495f-84b3-cf27bf4c78af'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} 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":"a91d11f0-0636-11ef-8c83-05b823ec2e4f","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"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2460b4e-6e61-4141-b326-a1f44302422d"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:10Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cede46cb-8564-462c-bfa4-bf8210c8fb54","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401730.7945387} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.172446,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a92a5860-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30/signaling 200 9ms","method":"POST","requestID":"a92a5860-0636-11ef-8c83-05b823ec2e4f","responseTime":9,"status":200,"url":"/devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:10Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9edeb96a-1d98-45dd-a378-a9c2ba0e240d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"57de4645-0b7d-466c-a59a-6b431f9f4dd2","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401730.8063664} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.038989,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a92c0610-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d/signaling 200 11ms","method":"POST","requestID":"a92c0610-0636-11ef-8c83-05b823ec2e4f","responseTime":11,"status":200,"url":"/devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d/signaling"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5e2a01a0ae19237bd631fc7552423b1d","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/8dd848a8-d2c5-495f-84b3-cf27bf4c78af' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8dd848a8-d2c5-495f-84b3-cf27bf4c78af","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} 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/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30"},{"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/9edeb96a-1d98-45dd-a378-a9c2ba0e240d"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/8dd848a8-d2c5-495f-84b3-cf27bf4c78af"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"5e2a01a0ae19237bd631fc7552423b1d","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"5e2a01a0ae19237bd631fc7552423b1d"} device-1 | {"data":{"peerconnection":"8dd848a8-d2c5-495f-84b3-cf27bf4c78af","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"8dd848a8-d2c5-495f-84b3-cf27bf4c78af","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/8dd848a8-d2c5-495f-84b3-cf27bf4c78af' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8dd848a8-d2c5-495f-84b3-cf27bf4c78af","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"98619a3936f16cf72f6cfac77095b6fa","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/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30"},{"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/9edeb96a-1d98-45dd-a378-a9c2ba0e240d"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/8dd848a8-d2c5-495f-84b3-cf27bf4c78af"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:11Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8dd848a8-d2c5-495f-84b3-cf27bf4c78af","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"63d01fc4-c5d3-4fe6-a2bd-ee09df1911dd","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401731.018187} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.88933,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8dd848a8-d2c5-495f-84b3-cf27bf4c78af","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/8dd848a8-d2c5-495f-84b3-cf27bf4c78af","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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a94c5f50-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/8dd848a8-d2c5-495f-84b3-cf27bf4c78af 200 9ms","method":"GET","requestID":"a94c5f50-0636-11ef-8c83-05b823ec2e4f","responseTime":9,"status":200,"url":"/peerconnections/8dd848a8-d2c5-495f-84b3-cf27bf4c78af"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 37ms","method":"POST","requestID":"98619a3936f16cf72f6cfac77095b6fa","responseTime":37,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.039","http_referrer":"","http_user_agent":"node-fetch","requestID":"98619a3936f16cf72f6cfac77095b6fa"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:11Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ec3aeae9-e66a-4d11-858a-6be805b3a9cf","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401731.0494773} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.876558,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a9511a40-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30/signaling 200 9ms","method":"POST","requestID":"a9511a40-0636-11ef-8c83-05b823ec2e4f","responseTime":9,"status":200,"url":"/devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:11Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9edeb96a-1d98-45dd-a378-a9c2ba0e240d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3e892606-3967-45f8-9e75-822a6f785d1f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401731.06166} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.838625,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a952ef00-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d/signaling 200 11ms","method":"POST","requestID":"a952ef00-0636-11ef-8c83-05b823ec2e4f","responseTime":11,"status":200,"url":"/devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczMX0.Ie7fleNMJ3SuVZN8nGnoEknwF7NTrtg7vjF7adysENU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"85818c3a4ed27819f82f7e989622a61a","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a2460b4e-6e61-4141-b326-a1f44302422d"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:11Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.723983,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a2460b4e-6e61-4141-b326-a1f44302422d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/a2460b4e-6e61-4141-b326-a1f44302422d","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401731,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczMX0.Ie7fleNMJ3SuVZN8nGnoEknwF7NTrtg7vjF7adysENU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"85818c3a4ed27819f82f7e989622a61a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/a2460b4e-6e61-4141-b326-a1f44302422d"} gateway-1 | {"time_local":"29/Apr/2024:14:42:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a2460b4e-6e61-4141-b326-a1f44302422d HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"85818c3a4ed27819f82f7e989622a61a"} experiment-1 | {"level":"info","message":"GET /experiments/a2460b4e-6e61-4141-b326-a1f44302422d 200 13ms","method":"GET","requestID":"85818c3a4ed27819f82f7e989622a61a","responseTime":13,"status":200,"url":"/experiments/a2460b4e-6e61-4141-b326-a1f44302422d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczMX0.Ie7fleNMJ3SuVZN8nGnoEknwF7NTrtg7vjF7adysENU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7b954e5601b3de2ea78b557bc3a798c0","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/a2460b4e-6e61-4141-b326-a1f44302422d"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:11Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.971698,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:11Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a2460b4e-6e61-4141-b326-a1f44302422d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/a2460b4e-6e61-4141-b326-a1f44302422d","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401731,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczMX0.Ie7fleNMJ3SuVZN8nGnoEknwF7NTrtg7vjF7adysENU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7b954e5601b3de2ea78b557bc3a798c0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2460b4e-6e61-4141-b326-a1f44302422d"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:11Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.199204,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:11Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8dd848a8-d2c5-495f-84b3-cf27bf4c78af","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:http://localhost/peerconnections/8dd848a8-d2c5-495f-84b3-cf27bf4c78af","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401731,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczMX0.Ie7fleNMJ3SuVZN8nGnoEknwF7NTrtg7vjF7adysENU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a95fc040-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/8dd848a8-d2c5-495f-84b3-cf27bf4c78af' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/8dd848a8-d2c5-495f-84b3-cf27bf4c78af' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8dd848a8-d2c5-495f-84b3-cf27bf4c78af","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"258b5b28b6bfcf83665cb7075e7d701f","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8dd848a8-d2c5-495f-84b3-cf27bf4c78af': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8dd848a8-d2c5-495f-84b3-cf27bf4c78af","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"9deb25c0-18af-4716-af86-d79717c592d8","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401731.1671767} 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/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30"},{"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/9edeb96a-1d98-45dd-a378-a9c2ba0e240d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8dd848a8-d2c5-495f-84b3-cf27bf4c78af"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"10db9e5ab0e2253a9ceeb80c01a42637","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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"75a0ae23-9932-45a3-b905-9dd9b2bd29a4","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401731.167792} 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/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30"},{"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/9edeb96a-1d98-45dd-a378-a9c2ba0e240d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8dd848a8-d2c5-495f-84b3-cf27bf4c78af"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a95fc040-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} device-1 | {"data":{"peerconnection":"8dd848a8-d2c5-495f-84b3-cf27bf4c78af","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/8dd848a8-d2c5-495f-84b3-cf27bf4c78af 204 70ms","method":"DELETE","requestID":"a95fc040-0636-11ef-8c83-05b823ec2e4f","responseTime":70,"status":204,"url":"/peerconnections/8dd848a8-d2c5-495f-84b3-cf27bf4c78af"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2460b4e-6e61-4141-b326-a1f44302422d"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:11Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"da821e8b-1481-4c8b-856b-09c8859e8f1d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401731.2426584} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.057407,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a96e3f30-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30/signaling 200 13ms","method":"POST","requestID":"a96e3f30-0636-11ef-8c83-05b823ec2e4f","responseTime":13,"status":200,"url":"/devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa2460b4e-6e61-4141-b326-a1f44302422d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa2460b4e-6e61-4141-b326-a1f44302422d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"ede5a2b6-2276-4ac6-b76a-b6cca71cc654","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401731.2522035} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d2214bf3-1353-453d-856a-450f1b6ef6f3","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401731.2524402} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9edeb96a-1d98-45dd-a378-a9c2ba0e240d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f92193d1-798e-46c5-a8c1-cb3b5b66b8b4","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401731.2558966} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7b954e5601b3de2ea78b557bc3a798c0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:11Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.64344,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a970b030-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d/signaling 200 10ms","method":"POST","requestID":"a970b030-0636-11ef-8c83-05b823ec2e4f","responseTime":10,"status":200,"url":"/devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/a2460b4e-6e61-4141-b326-a1f44302422d"} gateway-1 | {"time_local":"29/Apr/2024:14:42:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/a2460b4e-6e61-4141-b326-a1f44302422d HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.191","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7b954e5601b3de2ea78b557bc3a798c0"} experiment-1 | {"level":"info","message":"DELETE /experiments/a2460b4e-6e61-4141-b326-a1f44302422d 204 187ms","method":"DELETE","requestID":"7b954e5601b3de2ea78b557bc3a798c0","responseTime":187,"status":204,"url":"/experiments/a2460b4e-6e61-4141-b326-a1f44302422d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 148ms","method":"POST","requestID":"258b5b28b6bfcf83665cb7075e7d701f","responseTime":148,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.152","http_referrer":"","http_user_agent":"node-fetch","requestID":"258b5b28b6bfcf83665cb7075e7d701f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 146ms","method":"POST","requestID":"10db9e5ab0e2253a9ceeb80c01a42637","responseTime":146,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.153","http_referrer":"","http_user_agent":"node-fetch","requestID":"10db9e5ab0e2253a9ceeb80c01a42637"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczMX0.Ie7fleNMJ3SuVZN8nGnoEknwF7NTrtg7vjF7adysENU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f41763a83f63d1f8b321265bebddbea1","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"29/Apr/2024:14:42:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2263","request_time":"0.896","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a30908912c2410abd0039cbe34647549"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:11Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.868804,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:11Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401731,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczMX0.Ie7fleNMJ3SuVZN8nGnoEknwF7NTrtg7vjF7adysENU"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f41763a83f63d1f8b321265bebddbea1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} gateway-1 | {"time_local":"29/Apr/2024:14:42:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2400","request_time":"0.913","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"636d548afee98ebd542b84a90ee432c2"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/9edeb96a-1d98-45dd-a378-a9c2ba0e240d' 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:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5b76685-aed7-4708-896b-4fb19455c256","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e6cf9f34-e1e8-4fc8-8502-8ba21781aff5","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401731.341984} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f41763a83f63d1f8b321265bebddbea1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a6c2819f-2ac8-4711-b971-2c0dec9b4b9d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401731.346904} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/2ef17a7c-c2c5-4f84-8b7c-94f05ddc0d30' closed"} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f41763a83f63d1f8b321265bebddbea1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5b76685-aed7-4708-896b-4fb19455c256","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"7306257e-e9ae-48b1-a372-5a92a33cbd71","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401731.357134} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ee53a180-d3ec-49f2-8559-1a5a0c087b84","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401731.3572721} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f41763a83f63d1f8b321265bebddbea1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5b76685-aed7-4708-896b-4fb19455c256","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5b76685-aed7-4708-896b-4fb19455c256","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:11.357102245Z"}]},"request_id":"1172207b-7b79-4730-a687-47f271f64395","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401731.3616607} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f41763a83f63d1f8b321265bebddbea1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"f41763a83f63d1f8b321265bebddbea1","responseTime":46,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2024:14:42:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f41763a83f63d1f8b321265bebddbea1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczMX0.Ie7fleNMJ3SuVZN8nGnoEknwF7NTrtg7vjF7adysENU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e22526f476c7a8f71718daaa7d17a561","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:11Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.643169,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:11Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401731,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczMX0.Ie7fleNMJ3SuVZN8nGnoEknwF7NTrtg7vjF7adysENU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e22526f476c7a8f71718daaa7d17a561"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb35ad8b6-1040-43bd-b9da-ebc4bf58618a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"df52f82f-d7d8-4415-8c65-eeacc9bb4cec","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401731.3894887} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e22526f476c7a8f71718daaa7d17a561"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c19428e3-0931-4d57-bc9a-d4f0158f04de","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401731.3946693} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e22526f476c7a8f71718daaa7d17a561"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb35ad8b6-1040-43bd-b9da-ebc4bf58618a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"3f96f788-b2b6-4385-b058-362cad2de1d5","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401731.4042616} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"095cf46f-571e-43b8-ae0b-3904ccc5c5c9","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401731.404502} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e22526f476c7a8f71718daaa7d17a561"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb35ad8b6-1040-43bd-b9da-ebc4bf58618a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb35ad8b6-1040-43bd-b9da-ebc4bf58618a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:11.404233419Z"}]},"request_id":"6eb1fdfe-5fa9-4100-8c11-22617a60e6ab","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401731.4090374} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e22526f476c7a8f71718daaa7d17a561"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"e22526f476c7a8f71718daaa7d17a561","responseTime":42,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2024:14:42:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e22526f476c7a8f71718daaa7d17a561"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a5621a63f590d5686b706a75d199c6ae","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2024:14:42:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a/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":"a5621a63f590d5686b706a75d199c6ae"} device-1 | {"level":"info","message":"OPTIONS /devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a/websocket 200 1ms","method":"OPTIONS","requestID":"a5621a63f590d5686b706a75d199c6ae","responseTime":1,"status":200,"url":"/devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczM30.69RrEWJ6iz9eeMU2en4xpS5ztvkkOQZyt1VEyjLvqLE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"74099f57cbabc72d8837007bea081508","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:13Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.952173,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401733,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczM30.69RrEWJ6iz9eeMU2en4xpS5ztvkkOQZyt1VEyjLvqLE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"74099f57cbabc72d8837007bea081508"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"cec610c356c614ed569277d865ddb3b6","responseTime":0,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2024:14:42:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/c5b76685-aed7-4708-896b-4fb19455c256/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":"cec610c356c614ed569277d865ddb3b6"} device-1 | {"level":"info","message":"OPTIONS /devices/c5b76685-aed7-4708-896b-4fb19455c256/websocket 200 1ms","method":"OPTIONS","requestID":"cec610c356c614ed569277d865ddb3b6","responseTime":1,"status":200,"url":"/devices/c5b76685-aed7-4708-896b-4fb19455c256/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.023","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"74099f57cbabc72d8837007bea081508"} device-1 | {"level":"info","message":"POST /devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a/websocket 200 20ms","method":"POST","requestID":"74099f57cbabc72d8837007bea081508","responseTime":20,"status":200,"url":"/devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczM30.69RrEWJ6iz9eeMU2en4xpS5ztvkkOQZyt1VEyjLvqLE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"142a8b51bab17acffc5a438c4d615947","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:13Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.697283,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c5b76685-aed7-4708-896b-4fb19455c256","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/c5b76685-aed7-4708-896b-4fb19455c256","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401733,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczM30.69RrEWJ6iz9eeMU2en4xpS5ztvkkOQZyt1VEyjLvqLE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"142a8b51bab17acffc5a438c4d615947"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"device 'http://localhost/devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c5b76685-aed7-4708-896b-4fb19455c256/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"142a8b51bab17acffc5a438c4d615947"} device-1 | {"level":"info","message":"POST /devices/c5b76685-aed7-4708-896b-4fb19455c256/websocket 200 24ms","method":"POST","requestID":"142a8b51bab17acffc5a438c4d615947","responseTime":24,"status":200,"url":"/devices/c5b76685-aed7-4708-896b-4fb19455c256/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c5b76685-aed7-4708-896b-4fb19455c256' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczM30.69RrEWJ6iz9eeMU2en4xpS5ztvkkOQZyt1VEyjLvqLE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"64395a890777409b2f7ac39e33e91187","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:13Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.058938,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c5b76685-aed7-4708-896b-4fb19455c256","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/c5b76685-aed7-4708-896b-4fb19455c256","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401733,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczM30.69RrEWJ6iz9eeMU2en4xpS5ztvkkOQZyt1VEyjLvqLE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"64395a890777409b2f7ac39e33e91187"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5b76685-aed7-4708-896b-4fb19455c256","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5b76685-aed7-4708-896b-4fb19455c256","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:11.357102245Z"}]},"request_id":"18f63194-f3b9-49a0-8749-61fd0f8f097e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401733.4619403} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"64395a890777409b2f7ac39e33e91187"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c5b76685-aed7-4708-896b-4fb19455c256? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"64395a890777409b2f7ac39e33e91187"} device-1 | {"level":"info","message":"GET /devices/c5b76685-aed7-4708-896b-4fb19455c256? 200 15ms","method":"GET","requestID":"64395a890777409b2f7ac39e33e91187","responseTime":15,"status":200,"url":"/devices/c5b76685-aed7-4708-896b-4fb19455c256?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczM30.69RrEWJ6iz9eeMU2en4xpS5ztvkkOQZyt1VEyjLvqLE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c37359efd1133388cd6b2b6f193394e0","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:13Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.638187,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401733,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczM30.69RrEWJ6iz9eeMU2en4xpS5ztvkkOQZyt1VEyjLvqLE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c37359efd1133388cd6b2b6f193394e0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb35ad8b6-1040-43bd-b9da-ebc4bf58618a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb35ad8b6-1040-43bd-b9da-ebc4bf58618a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:11.404233419Z"}]},"request_id":"64a38cc6-8a60-400f-a955-f097a6d8f799","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401733.4832523} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c37359efd1133388cd6b2b6f193394e0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a? 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":"c37359efd1133388cd6b2b6f193394e0"} device-1 | {"level":"info","message":"GET /devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a? 200 16ms","method":"GET","requestID":"c37359efd1133388cd6b2b6f193394e0","responseTime":16,"status":200,"url":"/devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczM30.69RrEWJ6iz9eeMU2en4xpS5ztvkkOQZyt1VEyjLvqLE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"42b53900ef894fa7c8fb47e68c7d948c","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:13Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.728869,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401733,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczM30.69RrEWJ6iz9eeMU2en4xpS5ztvkkOQZyt1VEyjLvqLE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"42b53900ef894fa7c8fb47e68c7d948c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f474bb7e-20ce-40e2-a633-630e7951a7af"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f474bb7e-20ce-40e2-a633-630e7951a7af"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f474bb7e-20ce-40e2-a633-630e7951a7af"},"level":"info","message":"Successfully booked experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:13Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.917146,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c5b76685-aed7-4708-896b-4fb19455c256","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/c5b76685-aed7-4708-896b-4fb19455c256","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401733,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczM30.69RrEWJ6iz9eeMU2en4xpS5ztvkkOQZyt1VEyjLvqLE"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aacb3720-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:13Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.688502,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401733,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczM30.69RrEWJ6iz9eeMU2en4xpS5ztvkkOQZyt1VEyjLvqLE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aacb5e30-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5b76685-aed7-4708-896b-4fb19455c256","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5b76685-aed7-4708-896b-4fb19455c256","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:11.357102245Z"}]},"request_id":"72f86699-31f2-4e00-a449-2b53f8ef8487","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401733.5330648} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aacb3720-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb35ad8b6-1040-43bd-b9da-ebc4bf58618a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb35ad8b6-1040-43bd-b9da-ebc4bf58618a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:11.404233419Z"}]},"request_id":"6442e55d-0a50-4fd6-a767-269a1384a48c","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401733.5338454} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aacb5e30-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/c5b76685-aed7-4708-896b-4fb19455c256? 200 16ms","method":"GET","requestID":"aacb3720-0636-11ef-8c83-05b823ec2e4f","responseTime":16,"status":200,"url":"/devices/c5b76685-aed7-4708-896b-4fb19455c256?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a? 200 15ms","method":"GET","requestID":"aacb5e30-0636-11ef-8c83-05b823ec2e4f","responseTime":15,"status":200,"url":"/devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f474bb7e-20ce-40e2-a633-630e7951a7af"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f474bb7e-20ce-40e2-a633-630e7951a7af"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f474bb7e-20ce-40e2-a633-630e7951a7af"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f474bb7e-20ce-40e2-a633-630e7951a7af"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f474bb7e-20ce-40e2-a633-630e7951a7af"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f474bb7e-20ce-40e2-a633-630e7951a7af"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f474bb7e-20ce-40e2-a633-630e7951a7af"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f474bb7e-20ce-40e2-a633-630e7951a7af"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f474bb7e-20ce-40e2-a633-630e7951a7af"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:13Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.135861,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:13Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c5b76685-aed7-4708-896b-4fb19455c256","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/c5b76685-aed7-4708-896b-4fb19455c256","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401733,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczM30.69RrEWJ6iz9eeMU2en4xpS5ztvkkOQZyt1VEyjLvqLE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aad65ab0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.682495,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:13Z"} authorization-1 | {"client_addr":"127.0.0.1:54044","level":"info","msg":"Received request.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401733,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczM30.69RrEWJ6iz9eeMU2en4xpS5ztvkkOQZyt1VEyjLvqLE"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aad681c0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:54044","level":"info","msg":"Sent response.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.037069,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:13Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5b76685-aed7-4708-896b-4fb19455c256","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ab05e7d1-345a-4437-8434-2eb72d2091b0","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401733.6090832} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c5b76685-aed7-4708-896b-4fb19455c256","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c5b76685-aed7-4708-896b-4fb19455c256","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aad6cfe0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5b76685-aed7-4708-896b-4fb19455c256","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5b76685-aed7-4708-896b-4fb19455c256","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:11.357102245Z"}]},"request_id":"0df46e04-fac3-4a77-9ffb-0d1f4baaafba","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401733.6114228} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c5b76685-aed7-4708-896b-4fb19455c256/signaling 200 18ms","method":"POST","requestID":"aad6cfe0-0636-11ef-8c83-05b823ec2e4f","responseTime":18,"status":200,"url":"/devices/c5b76685-aed7-4708-896b-4fb19455c256/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aad65ab0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb35ad8b6-1040-43bd-b9da-ebc4bf58618a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb35ad8b6-1040-43bd-b9da-ebc4bf58618a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:11.404233419Z"}]},"request_id":"6579a928-d4a3-4bf5-9e6f-a8e6b3f1cd3e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401733.6159647} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aad681c0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff474bb7e-20ce-40e2-a633-630e7951a7af#owner@http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff474bb7e-20ce-40e2-a633-630e7951a7af","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"730c9bdd-ba25-437e-b76b-5d44fcadb036","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401733.622172} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/c5b76685-aed7-4708-896b-4fb19455c256? 200 30ms","method":"GET","requestID":"aad65ab0-0636-11ef-8c83-05b823ec2e4f","responseTime":30,"status":200,"url":"/devices/c5b76685-aed7-4708-896b-4fb19455c256?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a? 200 30ms","method":"GET","requestID":"aad681c0-0636-11ef-8c83-05b823ec2e4f","responseTime":30,"status":200,"url":"/devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f7f58f31-6a5e-42ae-91df-51beb0ec9673","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401733.6230474} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"42b53900ef894fa7c8fb47e68c7d948c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:13Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb35ad8b6-1040-43bd-b9da-ebc4bf58618a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"67211310-1d1d-4455-8e5f-9b0b804539fc","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401733.628166} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.780655,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:13Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aada5250-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:13Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a/signaling 200 13ms","method":"POST","requestID":"aada5250-0636-11ef-8c83-05b823ec2e4f","responseTime":13,"status":200,"url":"/devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a/signaling"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5b76685-aed7-4708-896b-4fb19455c256","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"062b0c31-4c78-4231-b45b-adbb0fec8329","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401733.6357238} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.154445,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:13Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/f474bb7e-20ce-40e2-a633-630e7951a7af","user":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"29/Apr/2024:14:42:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.149","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"42b53900ef894fa7c8fb47e68c7d948c"} experiment-1 | {"level":"info","message":"POST /experiments? 201 145ms","method":"POST","requestID":"42b53900ef894fa7c8fb47e68c7d948c","responseTime":145,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c5b76685-aed7-4708-896b-4fb19455c256","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c5b76685-aed7-4708-896b-4fb19455c256","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aadb63c0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c5b76685-aed7-4708-896b-4fb19455c256/signaling 200 13ms","method":"POST","requestID":"aadb63c0-0636-11ef-8c83-05b823ec2e4f","responseTime":13,"status":200,"url":"/devices/c5b76685-aed7-4708-896b-4fb19455c256/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczM30.69RrEWJ6iz9eeMU2en4xpS5ztvkkOQZyt1VEyjLvqLE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d79bbf28f86d9d0b27ea3abc73f0dc76","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:13Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.861202,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c5b76685-aed7-4708-896b-4fb19455c256","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/c5b76685-aed7-4708-896b-4fb19455c256","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401733,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczM30.69RrEWJ6iz9eeMU2en4xpS5ztvkkOQZyt1VEyjLvqLE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d79bbf28f86d9d0b27ea3abc73f0dc76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:13Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb35ad8b6-1040-43bd-b9da-ebc4bf58618a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7e0d76e9-b034-4427-8ff8-9d2f6f96a6bb","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401733.6487317} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.761616,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aaddd4c0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5b76685-aed7-4708-896b-4fb19455c256","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5b76685-aed7-4708-896b-4fb19455c256","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:11.357102245Z"}]},"request_id":"16689990-f5d6-46b6-9472-587b47e4480a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401733.6527505} device-1 | {"level":"info","message":"POST /devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a/signaling 200 9ms","method":"POST","requestID":"aaddd4c0-0636-11ef-8c83-05b823ec2e4f","responseTime":9,"status":200,"url":"/devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d79bbf28f86d9d0b27ea3abc73f0dc76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f474bb7e-20ce-40e2-a633-630e7951a7af"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f474bb7e-20ce-40e2-a633-630e7951a7af"},"level":"info","message":"Building connection plan"} 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":"d0fc0597-4c6e-4cd3-a1dd-17b6b61749be"},{"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":"d7f63829-ed50-4945-82a3-fc8258cc49f7"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"3f8f9a45-3e28-4204-b209-59709041ba92"}]},"level":"info","message":"Built pairwise service configurations"} 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/c5b76685-aed7-4708-896b-4fb19455c256"},{"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/b35ad8b6-1040-43bd-b9da-ebc4bf58618a"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/c5b76685-aed7-4708-896b-4fb19455c256? 200 16ms","method":"GET","requestID":"d79bbf28f86d9d0b27ea3abc73f0dc76","responseTime":16,"status":200,"url":"/devices/c5b76685-aed7-4708-896b-4fb19455c256?"} gateway-1 | {"time_local":"29/Apr/2024:14:42:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c5b76685-aed7-4708-896b-4fb19455c256? 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":"d79bbf28f86d9d0b27ea3abc73f0dc76"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:13Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.604204,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401733,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczM30.69RrEWJ6iz9eeMU2en4xpS5ztvkkOQZyt1VEyjLvqLE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aadfa980-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczM30.69RrEWJ6iz9eeMU2en4xpS5ztvkkOQZyt1VEyjLvqLE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3daf7e628df71d244a32db70ae495709","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:13Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.662431,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401733,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczM30.69RrEWJ6iz9eeMU2en4xpS5ztvkkOQZyt1VEyjLvqLE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3daf7e628df71d244a32db70ae495709"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","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%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"f46dc894-5863-4435-8bab-a59fe98d9aa5","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401733.6720624} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d4e23c00-51e5-410a-a0e4-40a7acec35f8","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401733.6723437} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb35ad8b6-1040-43bd-b9da-ebc4bf58618a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb35ad8b6-1040-43bd-b9da-ebc4bf58618a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:11.404233419Z"}]},"request_id":"df363768-d6bf-40a0-8ac3-21e1a862be43","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401733.6728675} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aadfa980-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3daf7e628df71d244a32db70ae495709"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3daf7e628df71d244a32db70ae495709"} device-1 | {"level":"info","message":"GET /devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a? 200 15ms","method":"GET","requestID":"3daf7e628df71d244a32db70ae495709","responseTime":15,"status":200,"url":"/devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/c99d42ce-a2a5-45e3-8fee-b4ecafefd186'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/c99d42ce-a2a5-45e3-8fee-b4ecafefd186'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 37ms","method":"POST","requestID":"aadfa980-0636-11ef-8c83-05b823ec2e4f","responseTime":37,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f474bb7e-20ce-40e2-a633-630e7951a7af"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:13Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5b76685-aed7-4708-896b-4fb19455c256","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"78d04b3a-b862-4d10-912d-9ddd2df94329","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401733.7221265} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.331047,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c5b76685-aed7-4708-896b-4fb19455c256","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c5b76685-aed7-4708-896b-4fb19455c256","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aae91f60-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c5b76685-aed7-4708-896b-4fb19455c256/signaling 200 8ms","method":"POST","requestID":"aae91f60-0636-11ef-8c83-05b823ec2e4f","responseTime":8,"status":200,"url":"/devices/c5b76685-aed7-4708-896b-4fb19455c256/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:13Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb35ad8b6-1040-43bd-b9da-ebc4bf58618a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c7e02c92-7e2f-42fd-92bb-f8ce9d6d76b2","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401733.733035} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.698327,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aaeaa600-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a/signaling 200 10ms","method":"POST","requestID":"aaeaa600-0636-11ef-8c83-05b823ec2e4f","responseTime":10,"status":200,"url":"/devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a/signaling"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/c99d42ce-a2a5-45e3-8fee-b4ecafefd186' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c99d42ce-a2a5-45e3-8fee-b4ecafefd186","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"747c21b4584165624a5ad8a4920f035b","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/c5b76685-aed7-4708-896b-4fb19455c256"},{"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/b35ad8b6-1040-43bd-b9da-ebc4bf58618a"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/c99d42ce-a2a5-45e3-8fee-b4ecafefd186"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"747c21b4584165624a5ad8a4920f035b","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"747c21b4584165624a5ad8a4920f035b"} device-1 | {"data":{"peerconnection":"c99d42ce-a2a5-45e3-8fee-b4ecafefd186","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"c99d42ce-a2a5-45e3-8fee-b4ecafefd186","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/c99d42ce-a2a5-45e3-8fee-b4ecafefd186' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c99d42ce-a2a5-45e3-8fee-b4ecafefd186","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"89d0d2bbee200d3a8eae6aca61ff1529","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/c5b76685-aed7-4708-896b-4fb19455c256"},{"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/b35ad8b6-1040-43bd-b9da-ebc4bf58618a"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/c99d42ce-a2a5-45e3-8fee-b4ecafefd186"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:13Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc99d42ce-a2a5-45e3-8fee-b4ecafefd186","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9d4013a4-ddad-4744-b142-77c777bdb7df","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401733.9409442} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.499897,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c99d42ce-a2a5-45e3-8fee-b4ecafefd186","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/c99d42ce-a2a5-45e3-8fee-b4ecafefd186","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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ab0a6300-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/c99d42ce-a2a5-45e3-8fee-b4ecafefd186 200 9ms","method":"GET","requestID":"ab0a6300-0636-11ef-8c83-05b823ec2e4f","responseTime":9,"status":200,"url":"/peerconnections/c99d42ce-a2a5-45e3-8fee-b4ecafefd186"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 28ms","method":"POST","requestID":"89d0d2bbee200d3a8eae6aca61ff1529","responseTime":28,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} gateway-1 | {"time_local":"29/Apr/2024:14:42:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.033","http_referrer":"","http_user_agent":"node-fetch","requestID":"89d0d2bbee200d3a8eae6aca61ff1529"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:13Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5b76685-aed7-4708-896b-4fb19455c256","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5bd55518-b67e-4bf5-83aa-c157200630e9","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401733.9650636} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.378172,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c5b76685-aed7-4708-896b-4fb19455c256","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c5b76685-aed7-4708-896b-4fb19455c256","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ab0e0c80-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c5b76685-aed7-4708-896b-4fb19455c256/signaling 200 10ms","method":"POST","requestID":"ab0e0c80-0636-11ef-8c83-05b823ec2e4f","responseTime":10,"status":200,"url":"/devices/c5b76685-aed7-4708-896b-4fb19455c256/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:13Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb35ad8b6-1040-43bd-b9da-ebc4bf58618a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"32aa4b76-0656-42db-8f0a-c7beddaeedb5","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401733.975906} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":1.983391,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ab0fe140-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a/signaling 200 8ms","method":"POST","requestID":"ab0fe140-0636-11ef-8c83-05b823ec2e4f","responseTime":8,"status":200,"url":"/devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczNH0.N5osDmWCxzp0IrrfSx_WPAB5134ZqFzElBonJaisme8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"156575a0f857cbcabf4bc03ea32cfec1","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f474bb7e-20ce-40e2-a633-630e7951a7af"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:14Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.105334,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f474bb7e-20ce-40e2-a633-630e7951a7af","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/f474bb7e-20ce-40e2-a633-630e7951a7af","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401734,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczNH0.N5osDmWCxzp0IrrfSx_WPAB5134ZqFzElBonJaisme8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"156575a0f857cbcabf4bc03ea32cfec1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/f474bb7e-20ce-40e2-a633-630e7951a7af"} experiment-1 | {"level":"info","message":"GET /experiments/f474bb7e-20ce-40e2-a633-630e7951a7af 200 11ms","method":"GET","requestID":"156575a0f857cbcabf4bc03ea32cfec1","responseTime":11,"status":200,"url":"/experiments/f474bb7e-20ce-40e2-a633-630e7951a7af"} gateway-1 | {"time_local":"29/Apr/2024:14:42:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f474bb7e-20ce-40e2-a633-630e7951a7af HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"156575a0f857cbcabf4bc03ea32cfec1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczNH0.N5osDmWCxzp0IrrfSx_WPAB5134ZqFzElBonJaisme8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7d57baff68bafe0af2ebd289e78c9e49","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/f474bb7e-20ce-40e2-a633-630e7951a7af"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:14Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.668555,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:14Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f474bb7e-20ce-40e2-a633-630e7951a7af","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/f474bb7e-20ce-40e2-a633-630e7951a7af","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401734,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczNH0.N5osDmWCxzp0IrrfSx_WPAB5134ZqFzElBonJaisme8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d57baff68bafe0af2ebd289e78c9e49"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f474bb7e-20ce-40e2-a633-630e7951a7af"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:14Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.679976,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:14Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c99d42ce-a2a5-45e3-8fee-b4ecafefd186","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:http://localhost/peerconnections/c99d42ce-a2a5-45e3-8fee-b4ecafefd186","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401734,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczNH0.N5osDmWCxzp0IrrfSx_WPAB5134ZqFzElBonJaisme8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ab1d9ce0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/c99d42ce-a2a5-45e3-8fee-b4ecafefd186' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/c99d42ce-a2a5-45e3-8fee-b4ecafefd186' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c99d42ce-a2a5-45e3-8fee-b4ecafefd186","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc99d42ce-a2a5-45e3-8fee-b4ecafefd186': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc99d42ce-a2a5-45e3-8fee-b4ecafefd186","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"7cd79950-1469-47b5-ad72-8f10b719b9d5","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401734.076233} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dfcbbc55-42fd-4c05-b7c7-c12502daa223","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401734.076373} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"13016b08f4dbb16e708b5963be78e1c6","responseTime":0,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ab1d9ce0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/c5b76685-aed7-4708-896b-4fb19455c256"},{"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/b35ad8b6-1040-43bd-b9da-ebc4bf58618a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c99d42ce-a2a5-45e3-8fee-b4ecafefd186"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7d50379b380e913a19af96b41ad703ef","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c5b76685-aed7-4708-896b-4fb19455c256"},{"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/b35ad8b6-1040-43bd-b9da-ebc4bf58618a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c99d42ce-a2a5-45e3-8fee-b4ecafefd186"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"c99d42ce-a2a5-45e3-8fee-b4ecafefd186","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/c99d42ce-a2a5-45e3-8fee-b4ecafefd186 204 31ms","method":"DELETE","requestID":"ab1d9ce0-0636-11ef-8c83-05b823ec2e4f","responseTime":31,"status":204,"url":"/peerconnections/c99d42ce-a2a5-45e3-8fee-b4ecafefd186"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f474bb7e-20ce-40e2-a633-630e7951a7af"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:14Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5b76685-aed7-4708-896b-4fb19455c256","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"17f2ceb4-cc00-4d63-807f-d72811944230","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401734.1188617} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.377481,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c5b76685-aed7-4708-896b-4fb19455c256","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c5b76685-aed7-4708-896b-4fb19455c256","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ab258c20-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c5b76685-aed7-4708-896b-4fb19455c256/signaling 200 9ms","method":"POST","requestID":"ab258c20-0636-11ef-8c83-05b823ec2e4f","responseTime":9,"status":200,"url":"/devices/c5b76685-aed7-4708-896b-4fb19455c256/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff474bb7e-20ce-40e2-a633-630e7951a7af': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff474bb7e-20ce-40e2-a633-630e7951a7af","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"3d3ec3f2-97c0-4566-a6a9-0aed54d846fd","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401734.1279404} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6fe78f89-824e-4a93-ad23-022572bd04e4","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401734.128351} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:14Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d57baff68bafe0af2ebd289e78c9e49"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb35ad8b6-1040-43bd-b9da-ebc4bf58618a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cbc5e449-4e76-4e4a-9332-93b3c9663db1","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401734.1317163} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.187373,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ab2739d0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a/signaling 200 11ms","method":"POST","requestID":"ab2739d0-0636-11ef-8c83-05b823ec2e4f","responseTime":11,"status":200,"url":"/devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/f474bb7e-20ce-40e2-a633-630e7951a7af"} gateway-1 | {"time_local":"29/Apr/2024:14:42:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/f474bb7e-20ce-40e2-a633-630e7951a7af HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.139","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7d57baff68bafe0af2ebd289e78c9e49"} experiment-1 | {"level":"info","message":"DELETE /experiments/f474bb7e-20ce-40e2-a633-630e7951a7af 204 135ms","method":"DELETE","requestID":"7d57baff68bafe0af2ebd289e78c9e49","responseTime":135,"status":204,"url":"/experiments/f474bb7e-20ce-40e2-a633-630e7951a7af"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 110ms","method":"POST","requestID":"13016b08f4dbb16e708b5963be78e1c6","responseTime":110,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.112","http_referrer":"","http_user_agent":"node-fetch","requestID":"13016b08f4dbb16e708b5963be78e1c6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 109ms","method":"POST","requestID":"7d50379b380e913a19af96b41ad703ef","responseTime":109,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.114","http_referrer":"","http_user_agent":"node-fetch","requestID":"7d50379b380e913a19af96b41ad703ef"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczNH0.N5osDmWCxzp0IrrfSx_WPAB5134ZqFzElBonJaisme8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"59416384652c10f7fecfd1314a3d50cd","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:14Z"} gateway-1 | {"time_local":"29/Apr/2024:14:42:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2263","request_time":"0.793","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"668fbc263ef0438d82507e8600689876"} gateway-1 | {"time_local":"29/Apr/2024:14:42:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2398","request_time":"0.766","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b008578b0fd686db31b6ea04f1c3d49a"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.040938,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401734,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczNH0.N5osDmWCxzp0IrrfSx_WPAB5134ZqFzElBonJaisme8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"59416384652c10f7fecfd1314a3d50cd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c5b76685-aed7-4708-896b-4fb19455c256' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b35ad8b6-1040-43bd-b9da-ebc4bf58618a' 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:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0f4f5f3-9931-4e9e-bdaa-23901985a1a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ae81239b-04dd-4b11-b73b-1c4014d896d7","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401734.213439} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"59416384652c10f7fecfd1314a3d50cd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4da30ab8-6add-486f-86ec-beaf2e8c1cfb","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401734.218431} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"59416384652c10f7fecfd1314a3d50cd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0f4f5f3-9931-4e9e-bdaa-23901985a1a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"eaf840a0-69a5-46b7-b2d0-47e375268bfc","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401734.2284238} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e9bfd58b-0cc5-45f5-8fac-348f51f9b47e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401734.2285626} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"59416384652c10f7fecfd1314a3d50cd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0f4f5f3-9931-4e9e-bdaa-23901985a1a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0f4f5f3-9931-4e9e-bdaa-23901985a1a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:14.228402763Z"}]},"request_id":"b95effad-7959-406c-a099-49912ca0c99b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401734.2326539} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"59416384652c10f7fecfd1314a3d50cd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"59416384652c10f7fecfd1314a3d50cd"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"59416384652c10f7fecfd1314a3d50cd","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczNH0.N5osDmWCxzp0IrrfSx_WPAB5134ZqFzElBonJaisme8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8cbfbb1f913c2fbae77d334b28f8d072","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:14Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.648519,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401734,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczNH0.N5osDmWCxzp0IrrfSx_WPAB5134ZqFzElBonJaisme8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8cbfbb1f913c2fbae77d334b28f8d072"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbecd78dd-b899-471d-a93f-34f8469fe737","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9a71d932-a5df-4225-ba15-38cbe82c788f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401734.2564995} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8cbfbb1f913c2fbae77d334b28f8d072"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"37865f3a-f512-4f33-850e-4f32346ef2e1","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401734.2610533} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8cbfbb1f913c2fbae77d334b28f8d072"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbecd78dd-b899-471d-a93f-34f8469fe737","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"68ba5095-967c-403a-9979-46512f0f2f2f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401734.272775} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8b6b250f-ceb6-49b6-94ea-ca3d05ed6254","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401734.2728508} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8cbfbb1f913c2fbae77d334b28f8d072"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbecd78dd-b899-471d-a93f-34f8469fe737","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbecd78dd-b899-471d-a93f-34f8469fe737","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:14.272753891Z"}]},"request_id":"1ed8e976-935e-4282-b609-56cdeaede753","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401734.2778463} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8cbfbb1f913c2fbae77d334b28f8d072"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8cbfbb1f913c2fbae77d334b28f8d072"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"8cbfbb1f913c2fbae77d334b28f8d072","responseTime":40,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczNH0.N5osDmWCxzp0IrrfSx_WPAB5134ZqFzElBonJaisme8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b10bf8bcb90e04c96496e9d5e298880e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:14Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.982632,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:14Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/becd78dd-b899-471d-a93f-34f8469fe737","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/becd78dd-b899-471d-a93f-34f8469fe737","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401734,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczNH0.N5osDmWCxzp0IrrfSx_WPAB5134ZqFzElBonJaisme8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b10bf8bcb90e04c96496e9d5e298880e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbecd78dd-b899-471d-a93f-34f8469fe737","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbecd78dd-b899-471d-a93f-34f8469fe737","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:14.272753891Z"}]},"request_id":"6ba61cba-1483-499e-a380-7a997fb8b97f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401734.7850955} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b10bf8bcb90e04c96496e9d5e298880e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7d81b85a-26f2-459b-854e-48c38267e463","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401734.7930036} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b10bf8bcb90e04c96496e9d5e298880e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbecd78dd-b899-471d-a93f-34f8469fe737","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbecd78dd-b899-471d-a93f-34f8469fe737","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:14.272753891Z"}]},"request_id":"00d7d951-5f20-4153-ad7c-b005de80f5ee","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401734.814376} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b10bf8bcb90e04c96496e9d5e298880e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/becd78dd-b899-471d-a93f-34f8469fe737 200 48ms","method":"PATCH","requestID":"b10bf8bcb90e04c96496e9d5e298880e","responseTime":48,"status":200,"url":"/devices/becd78dd-b899-471d-a93f-34f8469fe737"} gateway-1 | {"time_local":"29/Apr/2024:14:42:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/becd78dd-b899-471d-a93f-34f8469fe737 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.053","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"b10bf8bcb90e04c96496e9d5e298880e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczNH0.N5osDmWCxzp0IrrfSx_WPAB5134ZqFzElBonJaisme8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"53759675f885144f2fdb559f55e7e52c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:14Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.253029,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:14Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/becd78dd-b899-471d-a93f-34f8469fe737","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/becd78dd-b899-471d-a93f-34f8469fe737","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401734,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczNH0.N5osDmWCxzp0IrrfSx_WPAB5134ZqFzElBonJaisme8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"53759675f885144f2fdb559f55e7e52c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/becd78dd-b899-471d-a93f-34f8469fe737/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.026","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"53759675f885144f2fdb559f55e7e52c"} device-1 | {"level":"info","message":"POST /devices/becd78dd-b899-471d-a93f-34f8469fe737/websocket 200 22ms","method":"POST","requestID":"53759675f885144f2fdb559f55e7e52c","responseTime":22,"status":200,"url":"/devices/becd78dd-b899-471d-a93f-34f8469fe737/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/becd78dd-b899-471d-a93f-34f8469fe737' connected"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2c9fc0f27cb0fa3ee4cb249b0f9fc7f1","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2024:14:42:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3/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":"2c9fc0f27cb0fa3ee4cb249b0f9fc7f1"} device-1 | {"level":"info","message":"OPTIONS /devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3/websocket 200 2ms","method":"OPTIONS","requestID":"2c9fc0f27cb0fa3ee4cb249b0f9fc7f1","responseTime":2,"status":200,"url":"/devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczNn0._tZSWVllN6HcUXZaSmRbi0iXD_4Xc9cjee7ps0rgJ1g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1832f622a7d15cd26304c99a6e231bb8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.182789,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401736,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczNn0._tZSWVllN6HcUXZaSmRbi0iXD_4Xc9cjee7ps0rgJ1g"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1832f622a7d15cd26304c99a6e231bb8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3/websocket 200 26ms","method":"POST","requestID":"1832f622a7d15cd26304c99a6e231bb8","responseTime":26,"status":200,"url":"/devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3/websocket"} gateway-1 | {"time_local":"29/Apr/2024:14:42:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.032","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1832f622a7d15cd26304c99a6e231bb8"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczNn0._tZSWVllN6HcUXZaSmRbi0iXD_4Xc9cjee7ps0rgJ1g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"0882944b7e29beacd3134109e5c6bd54","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.289148,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401736,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczNn0._tZSWVllN6HcUXZaSmRbi0iXD_4Xc9cjee7ps0rgJ1g"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0882944b7e29beacd3134109e5c6bd54"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0f4f5f3-9931-4e9e-bdaa-23901985a1a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0f4f5f3-9931-4e9e-bdaa-23901985a1a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:14.228402763Z"}]},"request_id":"6e6d5c09-bf4f-48b1-afab-cbfac5194ae7","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401736.3412058} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0882944b7e29beacd3134109e5c6bd54"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0882944b7e29beacd3134109e5c6bd54"} device-1 | {"level":"info","message":"GET /devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3? 200 20ms","method":"GET","requestID":"0882944b7e29beacd3134109e5c6bd54","responseTime":20,"status":200,"url":"/devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczNn0._tZSWVllN6HcUXZaSmRbi0iXD_4Xc9cjee7ps0rgJ1g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cadc70cc49eff197e0a72fed76203adb","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.252657,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/becd78dd-b899-471d-a93f-34f8469fe737","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/becd78dd-b899-471d-a93f-34f8469fe737","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401736,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczNn0._tZSWVllN6HcUXZaSmRbi0iXD_4Xc9cjee7ps0rgJ1g"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cadc70cc49eff197e0a72fed76203adb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbecd78dd-b899-471d-a93f-34f8469fe737","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbecd78dd-b899-471d-a93f-34f8469fe737","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:14.272753891Z"}]},"request_id":"f8b3de4e-56fb-4c69-ac86-b0d339e301a7","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401736.367349} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cadc70cc49eff197e0a72fed76203adb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/becd78dd-b899-471d-a93f-34f8469fe737? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cadc70cc49eff197e0a72fed76203adb"} device-1 | {"level":"info","message":"GET /devices/becd78dd-b899-471d-a93f-34f8469fe737? 200 20ms","method":"GET","requestID":"cadc70cc49eff197e0a72fed76203adb","responseTime":20,"status":200,"url":"/devices/becd78dd-b899-471d-a93f-34f8469fe737?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczNn0._tZSWVllN6HcUXZaSmRbi0iXD_4Xc9cjee7ps0rgJ1g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4185435a4924d4e288c61a4aea883a4b","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.320691,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401736,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczNn0._tZSWVllN6HcUXZaSmRbi0iXD_4Xc9cjee7ps0rgJ1g"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4185435a4924d4e288c61a4aea883a4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5548ff93-81ac-43a0-bef7-2398c645ee97"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5548ff93-81ac-43a0-bef7-2398c645ee97"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5548ff93-81ac-43a0-bef7-2398c645ee97"},"level":"info","message":"Successfully booked experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.283447,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401736,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczNn0._tZSWVllN6HcUXZaSmRbi0iXD_4Xc9cjee7ps0rgJ1g"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ac887780-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.859046,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/becd78dd-b899-471d-a93f-34f8469fe737","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/becd78dd-b899-471d-a93f-34f8469fe737","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401736,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczNn0._tZSWVllN6HcUXZaSmRbi0iXD_4Xc9cjee7ps0rgJ1g"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ac88c5a0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0f4f5f3-9931-4e9e-bdaa-23901985a1a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0f4f5f3-9931-4e9e-bdaa-23901985a1a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:14.228402763Z"}]},"request_id":"c5bcc3c4-f9de-4eda-8cf5-93fcf8cd7c35","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401736.4535112} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ac887780-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbecd78dd-b899-471d-a93f-34f8469fe737","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbecd78dd-b899-471d-a93f-34f8469fe737","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:14.272753891Z"}]},"request_id":"e2949d24-a67b-4a01-8734-64e66ed4b490","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401736.4552279} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ac88c5a0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3? 200 23ms","method":"GET","requestID":"ac887780-0636-11ef-8c83-05b823ec2e4f","responseTime":23,"status":200,"url":"/devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/becd78dd-b899-471d-a93f-34f8469fe737? 200 23ms","method":"GET","requestID":"ac88c5a0-0636-11ef-8c83-05b823ec2e4f","responseTime":23,"status":200,"url":"/devices/becd78dd-b899-471d-a93f-34f8469fe737?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5548ff93-81ac-43a0-bef7-2398c645ee97"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5548ff93-81ac-43a0-bef7-2398c645ee97"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5548ff93-81ac-43a0-bef7-2398c645ee97"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5548ff93-81ac-43a0-bef7-2398c645ee97"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5548ff93-81ac-43a0-bef7-2398c645ee97"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5548ff93-81ac-43a0-bef7-2398c645ee97"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5548ff93-81ac-43a0-bef7-2398c645ee97"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5548ff93-81ac-43a0-bef7-2398c645ee97"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5548ff93-81ac-43a0-bef7-2398c645ee97"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.72066,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401736,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczNn0._tZSWVllN6HcUXZaSmRbi0iXD_4Xc9cjee7ps0rgJ1g"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ac93e930-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.481008,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"client_addr":"127.0.0.1:54044","level":"info","msg":"Received request.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/becd78dd-b899-471d-a93f-34f8469fe737","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/becd78dd-b899-471d-a93f-34f8469fe737","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401736,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczNn0._tZSWVllN6HcUXZaSmRbi0iXD_4Xc9cjee7ps0rgJ1g"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ac943750-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"client_addr":"127.0.0.1:54044","level":"info","msg":"Sent response.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.09656,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0f4f5f3-9931-4e9e-bdaa-23901985a1a3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"37535b6b-497b-405b-a213-d3811554a8a5","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401736.528046} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ac948570-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3/signaling 200 18ms","method":"POST","requestID":"ac948570-0636-11ef-8c83-05b823ec2e4f","responseTime":19,"status":200,"url":"/devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3/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:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0f4f5f3-9931-4e9e-bdaa-23901985a1a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0f4f5f3-9931-4e9e-bdaa-23901985a1a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:14.228402763Z"}]},"request_id":"7998b192-3ae1-4c19-aa37-fc0a7afa649e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401736.536623} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ac93e930-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbecd78dd-b899-471d-a93f-34f8469fe737","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbecd78dd-b899-471d-a93f-34f8469fe737","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:14.272753891Z"}]},"request_id":"327995da-056b-4b97-aa89-76091c818fd5","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401736.5385268} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ac943750-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5548ff93-81ac-43a0-bef7-2398c645ee97#owner@http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5548ff93-81ac-43a0-bef7-2398c645ee97","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"64df2aaf-af14-4662-b177-f7fee8c98b95","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401736.5447924} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0ce7f0c7-d3be-44c1-80ab-38d4cbbad3b9","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401736.545225} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3? 200 33ms","method":"GET","requestID":"ac93e930-0636-11ef-8c83-05b823ec2e4f","responseTime":33,"status":200,"url":"/devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4185435a4924d4e288c61a4aea883a4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":22}} device-1 | {"level":"info","message":"GET /devices/becd78dd-b899-471d-a93f-34f8469fe737? 200 33ms","method":"GET","requestID":"ac943750-0636-11ef-8c83-05b823ec2e4f","responseTime":33,"status":200,"url":"/devices/becd78dd-b899-471d-a93f-34f8469fe737?"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbecd78dd-b899-471d-a93f-34f8469fe737","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"64dfe8a9-56f9-46fc-adf9-92141cef01e8","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401736.5501745} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.291499,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/becd78dd-b899-471d-a93f-34f8469fe737","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/becd78dd-b899-471d-a93f-34f8469fe737","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ac9807e0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/becd78dd-b899-471d-a93f-34f8469fe737/signaling 200 18ms","method":"POST","requestID":"ac9807e0-0636-11ef-8c83-05b823ec2e4f","responseTime":18,"status":200,"url":"/devices/becd78dd-b899-471d-a93f-34f8469fe737/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/5548ff93-81ac-43a0-bef7-2398c645ee97","user":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:16Z"} gateway-1 | {"time_local":"29/Apr/2024:14:42:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.184","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4185435a4924d4e288c61a4aea883a4b"} experiment-1 | {"level":"info","message":"POST /experiments? 201 178ms","method":"POST","requestID":"4185435a4924d4e288c61a4aea883a4b","responseTime":178,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0f4f5f3-9931-4e9e-bdaa-23901985a1a3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"31edb39e-b2c0-4af8-b956-c7c43db1448b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401736.5643258} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.908288,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ac9a51d0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczNn0._tZSWVllN6HcUXZaSmRbi0iXD_4Xc9cjee7ps0rgJ1g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"93997b41ce45a01ba63bb5a6f85f7035","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3/signaling 200 13ms","method":"POST","requestID":"ac9a51d0-0636-11ef-8c83-05b823ec2e4f","responseTime":13,"status":200,"url":"/devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3/signaling"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.097205,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401736,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczNn0._tZSWVllN6HcUXZaSmRbi0iXD_4Xc9cjee7ps0rgJ1g"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"93997b41ce45a01ba63bb5a6f85f7035"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.102615,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbecd78dd-b899-471d-a93f-34f8469fe737","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e8b1449f-8130-46bb-b55d-39456858aa72","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401736.578015} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0f4f5f3-9931-4e9e-bdaa-23901985a1a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0f4f5f3-9931-4e9e-bdaa-23901985a1a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:14.228402763Z"}]},"request_id":"45bcc458-e709-46df-8213-8cb6a5618c8d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401736.5783103} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"93997b41ce45a01ba63bb5a6f85f7035"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/becd78dd-b899-471d-a93f-34f8469fe737","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/becd78dd-b899-471d-a93f-34f8469fe737","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"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ac9cc2d0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} gateway-1 | {"time_local":"29/Apr/2024:14:42:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"93997b41ce45a01ba63bb5a6f85f7035"} device-1 | {"level":"info","message":"GET /devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3? 200 18ms","method":"GET","requestID":"93997b41ce45a01ba63bb5a6f85f7035","responseTime":18,"status":200,"url":"/devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5548ff93-81ac-43a0-bef7-2398c645ee97"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5548ff93-81ac-43a0-bef7-2398c645ee97"},"level":"info","message":"Building connection plan"} 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":"59126ba1-6462-493a-af59-895fc797d502"},{"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":"e3a9b861-bc15-4c76-9476-9c253702bd47"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"a00330ea-8967-45eb-a4dd-5b084a81f3f6"}]},"level":"info","message":"Built pairwise service configurations"} 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/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3"},{"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/becd78dd-b899-471d-a93f-34f8469fe737"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczNn0._tZSWVllN6HcUXZaSmRbi0iXD_4Xc9cjee7ps0rgJ1g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"144072d34595435c300e23c343bad355","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"POST /devices/becd78dd-b899-471d-a93f-34f8469fe737/signaling 200 19ms","method":"POST","requestID":"ac9cc2d0-0636-11ef-8c83-05b823ec2e4f","responseTime":19,"status":200,"url":"/devices/becd78dd-b899-471d-a93f-34f8469fe737/signaling"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.02507,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.512403,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401736,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczNn0._tZSWVllN6HcUXZaSmRbi0iXD_4Xc9cjee7ps0rgJ1g"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ac9fd010-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/becd78dd-b899-471d-a93f-34f8469fe737","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/becd78dd-b899-471d-a93f-34f8469fe737","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401736,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczNn0._tZSWVllN6HcUXZaSmRbi0iXD_4Xc9cjee7ps0rgJ1g"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"144072d34595435c300e23c343bad355"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbecd78dd-b899-471d-a93f-34f8469fe737","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbecd78dd-b899-471d-a93f-34f8469fe737","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:14.272753891Z"}]},"request_id":"bfa8db83-391d-4aae-885b-8b4faeb99103","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401736.610167} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"144072d34595435c300e23c343bad355"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/becd78dd-b899-471d-a93f-34f8469fe737? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"144072d34595435c300e23c343bad355"} device-1 | {"level":"info","message":"GET /devices/becd78dd-b899-471d-a93f-34f8469fe737? 200 18ms","method":"GET","requestID":"144072d34595435c300e23c343bad355","responseTime":18,"status":200,"url":"/devices/becd78dd-b899-471d-a93f-34f8469fe737?"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","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%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"b6e8ace1-8208-471d-a6af-9e73c0a03d31","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401736.6150787} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"566d372b-8195-4a47-9af4-8af10adead37","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401736.6152835} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ac9fd010-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/67e7985b-adfa-417f-9896-f8a1ce18f171'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/67e7985b-adfa-417f-9896-f8a1ce18f171'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 39ms","method":"POST","requestID":"ac9fd010-0636-11ef-8c83-05b823ec2e4f","responseTime":39,"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"} device-1 | {"data":{"peerconnection":"67e7985b-adfa-417f-9896-f8a1ce18f171","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5548ff93-81ac-43a0-bef7-2398c645ee97"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0f4f5f3-9931-4e9e-bdaa-23901985a1a3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7623d205-a98e-41e6-a067-7bd840f02783","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401736.6662698} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.17862,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"acaa3050-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3/signaling 200 10ms","method":"POST","requestID":"acaa3050-0636-11ef-8c83-05b823ec2e4f","responseTime":10,"status":200,"url":"/devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbecd78dd-b899-471d-a93f-34f8469fe737","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4e3ee848-7eaf-4587-bd4e-2d0a71ee1510","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401736.6773164} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.415753,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/becd78dd-b899-471d-a93f-34f8469fe737","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/becd78dd-b899-471d-a93f-34f8469fe737","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"acac0510-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/becd78dd-b899-471d-a93f-34f8469fe737/signaling 200 10ms","method":"POST","requestID":"acac0510-0636-11ef-8c83-05b823ec2e4f","responseTime":10,"status":200,"url":"/devices/becd78dd-b899-471d-a93f-34f8469fe737/signaling"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/67e7985b-adfa-417f-9896-f8a1ce18f171' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"67e7985b-adfa-417f-9896-f8a1ce18f171","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3d14869c0a3e7c262c938dd0dd98b8af","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/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3"},{"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/becd78dd-b899-471d-a93f-34f8469fe737"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/67e7985b-adfa-417f-9896-f8a1ce18f171"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"3d14869c0a3e7c262c938dd0dd98b8af","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"3d14869c0a3e7c262c938dd0dd98b8af"} device-1 | {"data":{"peerconnection":"67e7985b-adfa-417f-9896-f8a1ce18f171","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"67e7985b-adfa-417f-9896-f8a1ce18f171","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/67e7985b-adfa-417f-9896-f8a1ce18f171' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"67e7985b-adfa-417f-9896-f8a1ce18f171","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"99cc2011c2bc646d0a52ad57e6197251","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/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3"},{"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/becd78dd-b899-471d-a93f-34f8469fe737"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/67e7985b-adfa-417f-9896-f8a1ce18f171"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F67e7985b-adfa-417f-9896-f8a1ce18f171","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"90574342-a47b-45e5-9c68-e2e948228d37","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401736.754732} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.211785,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/67e7985b-adfa-417f-9896-f8a1ce18f171","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/67e7985b-adfa-417f-9896-f8a1ce18f171","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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"acb7c4e0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/67e7985b-adfa-417f-9896-f8a1ce18f171 200 8ms","method":"GET","requestID":"acb7c4e0-0636-11ef-8c83-05b823ec2e4f","responseTime":8,"status":200,"url":"/peerconnections/67e7985b-adfa-417f-9896-f8a1ce18f171"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 26ms","method":"POST","requestID":"99cc2011c2bc646d0a52ad57e6197251","responseTime":26,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch","requestID":"99cc2011c2bc646d0a52ad57e6197251"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0f4f5f3-9931-4e9e-bdaa-23901985a1a3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ce0a8ef0-77b5-4b42-9b6c-1244eb093232","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401736.778009} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.94185,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"acbb4750-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3/signaling 200 9ms","method":"POST","requestID":"acbb4750-0636-11ef-8c83-05b823ec2e4f","responseTime":9,"status":200,"url":"/devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbecd78dd-b899-471d-a93f-34f8469fe737","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"16a7e581-0377-4ca8-a3ce-49cad2263ccb","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401736.7879953} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.162982,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/becd78dd-b899-471d-a93f-34f8469fe737","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/becd78dd-b899-471d-a93f-34f8469fe737","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"acbcf500-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/becd78dd-b899-471d-a93f-34f8469fe737/signaling 200 7ms","method":"POST","requestID":"acbcf500-0636-11ef-8c83-05b823ec2e4f","responseTime":7,"status":200,"url":"/devices/becd78dd-b899-471d-a93f-34f8469fe737/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczNn0._tZSWVllN6HcUXZaSmRbi0iXD_4Xc9cjee7ps0rgJ1g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e7c94563c71427a0497d72045b5335c8","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/5548ff93-81ac-43a0-bef7-2398c645ee97"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.239322,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5548ff93-81ac-43a0-bef7-2398c645ee97","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/5548ff93-81ac-43a0-bef7-2398c645ee97","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401736,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczNn0._tZSWVllN6HcUXZaSmRbi0iXD_4Xc9cjee7ps0rgJ1g"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e7c94563c71427a0497d72045b5335c8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/5548ff93-81ac-43a0-bef7-2398c645ee97"} gateway-1 | {"time_local":"29/Apr/2024:14:42:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/5548ff93-81ac-43a0-bef7-2398c645ee97 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e7c94563c71427a0497d72045b5335c8"} experiment-1 | {"level":"info","message":"GET /experiments/5548ff93-81ac-43a0-bef7-2398c645ee97 200 16ms","method":"GET","requestID":"e7c94563c71427a0497d72045b5335c8","responseTime":16,"status":200,"url":"/experiments/5548ff93-81ac-43a0-bef7-2398c645ee97"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczNn0._tZSWVllN6HcUXZaSmRbi0iXD_4Xc9cjee7ps0rgJ1g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"289cce8754b32798f367e8a15809b96e","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/5548ff93-81ac-43a0-bef7-2398c645ee97"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.280681,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5548ff93-81ac-43a0-bef7-2398c645ee97","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/5548ff93-81ac-43a0-bef7-2398c645ee97","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401736,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczNn0._tZSWVllN6HcUXZaSmRbi0iXD_4Xc9cjee7ps0rgJ1g"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"289cce8754b32798f367e8a15809b96e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5548ff93-81ac-43a0-bef7-2398c645ee97"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":2.788391,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/67e7985b-adfa-417f-9896-f8a1ce18f171","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:http://localhost/peerconnections/67e7985b-adfa-417f-9896-f8a1ce18f171","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401736,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczNn0._tZSWVllN6HcUXZaSmRbi0iXD_4Xc9cjee7ps0rgJ1g"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"accd48b0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/67e7985b-adfa-417f-9896-f8a1ce18f171' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/67e7985b-adfa-417f-9896-f8a1ce18f171' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"67e7985b-adfa-417f-9896-f8a1ce18f171","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"66e03d279afc8851f227bdf53f131dd4","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3"},{"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/becd78dd-b899-471d-a93f-34f8469fe737"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/67e7985b-adfa-417f-9896-f8a1ce18f171"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F67e7985b-adfa-417f-9896-f8a1ce18f171': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F67e7985b-adfa-417f-9896-f8a1ce18f171","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"f2a76a7f-e2ae-45b7-9e16-4bbdb883b20a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401736.9193046} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"62c4856dd2c1f475680f5c813d0da83b","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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"34a5913c-96e1-4870-b953-dc696791c6a3","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401736.9199548} 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/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3"},{"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/becd78dd-b899-471d-a93f-34f8469fe737"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/67e7985b-adfa-417f-9896-f8a1ce18f171"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"accd48b0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} device-1 | {"data":{"peerconnection":"67e7985b-adfa-417f-9896-f8a1ce18f171","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/67e7985b-adfa-417f-9896-f8a1ce18f171 204 60ms","method":"DELETE","requestID":"accd48b0-0636-11ef-8c83-05b823ec2e4f","responseTime":60,"status":204,"url":"/peerconnections/67e7985b-adfa-417f-9896-f8a1ce18f171"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5548ff93-81ac-43a0-bef7-2398c645ee97"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0f4f5f3-9931-4e9e-bdaa-23901985a1a3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fd4d8c96-ce72-4ca6-ab2e-cd35dd6f459a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401736.9731343} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.35976,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"acd8e170-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3/signaling 200 12ms","method":"POST","requestID":"acd8e170-0636-11ef-8c83-05b823ec2e4f","responseTime":12,"status":200,"url":"/devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5548ff93-81ac-43a0-bef7-2398c645ee97': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5548ff93-81ac-43a0-bef7-2398c645ee97","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"f5733458-7154-4cd6-978c-607216811dc8","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401736.9819882} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"55a33a9a-6c63-4ac1-a04b-4eb498abc51a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401736.982218} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"289cce8754b32798f367e8a15809b96e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbecd78dd-b899-471d-a93f-34f8469fe737","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3f279fb2-73b5-4524-9573-ed7ef17d6f18","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401736.987738} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.65337,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/becd78dd-b899-471d-a93f-34f8469fe737","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/becd78dd-b899-471d-a93f-34f8469fe737","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"acdb0450-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/becd78dd-b899-471d-a93f-34f8469fe737/signaling 200 13ms","method":"POST","requestID":"acdb0450-0636-11ef-8c83-05b823ec2e4f","responseTime":13,"status":200,"url":"/devices/becd78dd-b899-471d-a93f-34f8469fe737/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/5548ff93-81ac-43a0-bef7-2398c645ee97"} gateway-1 | {"time_local":"29/Apr/2024:14:42:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/5548ff93-81ac-43a0-bef7-2398c645ee97 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.166","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"289cce8754b32798f367e8a15809b96e"} experiment-1 | {"level":"info","message":"DELETE /experiments/5548ff93-81ac-43a0-bef7-2398c645ee97 204 160ms","method":"DELETE","requestID":"289cce8754b32798f367e8a15809b96e","responseTime":160,"status":204,"url":"/experiments/5548ff93-81ac-43a0-bef7-2398c645ee97"} gateway-1 | {"time_local":"29/Apr/2024:14:42:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2214","request_time":"2.186","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"c787b91302b520332b98cb61f8f09856"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 117ms","method":"POST","requestID":"66e03d279afc8851f227bdf53f131dd4","responseTime":117,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.121","http_referrer":"","http_user_agent":"node-fetch","requestID":"66e03d279afc8851f227bdf53f131dd4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 115ms","method":"POST","requestID":"62c4856dd2c1f475680f5c813d0da83b","responseTime":115,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.122","http_referrer":"","http_user_agent":"node-fetch","requestID":"62c4856dd2c1f475680f5c813d0da83b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczN30.ssv3tGtAxOHxrKUZqe9YpSgPHkLEEONFwICiGX50wTQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6a4f9391d2f218963f8c41b29a4b89e7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:17Z"} gateway-1 | {"time_local":"29/Apr/2024:14:42:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2163","request_time":"0.741","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0b2c2e7d3259ef2adefc1b653efad0be"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.932103,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401737,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczN30.ssv3tGtAxOHxrKUZqe9YpSgPHkLEEONFwICiGX50wTQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6a4f9391d2f218963f8c41b29a4b89e7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/becd78dd-b899-471d-a93f-34f8469fe737' 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:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfe44ee1-bd66-4b36-9c58-c868206d2ede","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a0d2c3d9-7e5c-4238-b5ef-74d52eee5323","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401737.0617673} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6a4f9391d2f218963f8c41b29a4b89e7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c0f4f5f3-9931-4e9e-bdaa-23901985a1a3' 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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b47ebc1e-4d36-4e2e-9ce2-ce426201bb02","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401737.066912} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6a4f9391d2f218963f8c41b29a4b89e7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfe44ee1-bd66-4b36-9c58-c868206d2ede","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"12aba95d-5bd2-427c-b52e-3ded0bdeebd8","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401737.0763507} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6277fdbe-ff96-4ba6-8171-343ec07995d4","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401737.0766037} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6a4f9391d2f218963f8c41b29a4b89e7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfe44ee1-bd66-4b36-9c58-c868206d2ede","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfe44ee1-bd66-4b36-9c58-c868206d2ede","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:17.076328506Z"}]},"request_id":"eef02544-94b8-40ac-99a3-295c8a1b1ad6","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401737.0809672} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6a4f9391d2f218963f8c41b29a4b89e7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6a4f9391d2f218963f8c41b29a4b89e7"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"6a4f9391d2f218963f8c41b29a4b89e7","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczN30.ssv3tGtAxOHxrKUZqe9YpSgPHkLEEONFwICiGX50wTQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"54e7e52e0e29fa0a44a73a685f1ee74f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:17Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.942955,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401737,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczN30.ssv3tGtAxOHxrKUZqe9YpSgPHkLEEONFwICiGX50wTQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"54e7e52e0e29fa0a44a73a685f1ee74f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79d63fc7-dc30-4124-acf4-4839d8c7be06","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"369d2eca-faff-4b64-b822-92ffad95f909","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401737.10519} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"54e7e52e0e29fa0a44a73a685f1ee74f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b44f2eed-e33f-4d4b-af9a-e51a27677770","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401737.1105416} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"54e7e52e0e29fa0a44a73a685f1ee74f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79d63fc7-dc30-4124-acf4-4839d8c7be06","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"2d8268aa-0479-4fca-b4c6-12b2bacb9c21","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401737.1230733} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e5dac0ef-6637-43f7-b214-2373ac39fabb","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401737.123302} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"54e7e52e0e29fa0a44a73a685f1ee74f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79d63fc7-dc30-4124-acf4-4839d8c7be06","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79d63fc7-dc30-4124-acf4-4839d8c7be06","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:17.123041873Z"}]},"request_id":"54f7f125-89e4-470f-ab96-2126e4f281a4","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401737.1274426} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"54e7e52e0e29fa0a44a73a685f1ee74f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"54e7e52e0e29fa0a44a73a685f1ee74f"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"54e7e52e0e29fa0a44a73a685f1ee74f","responseTime":40,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczN30.ssv3tGtAxOHxrKUZqe9YpSgPHkLEEONFwICiGX50wTQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"55bb66ca444b5b19cca96b68ee62b8d0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:17Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.657783,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:17Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/79d63fc7-dc30-4124-acf4-4839d8c7be06","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/79d63fc7-dc30-4124-acf4-4839d8c7be06","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401737,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczN30.ssv3tGtAxOHxrKUZqe9YpSgPHkLEEONFwICiGX50wTQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"55bb66ca444b5b19cca96b68ee62b8d0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79d63fc7-dc30-4124-acf4-4839d8c7be06","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79d63fc7-dc30-4124-acf4-4839d8c7be06","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:17.123041873Z"}]},"request_id":"09d53f34-33b9-4f26-8e3e-ff35387ddc4f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401737.616895} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"55bb66ca444b5b19cca96b68ee62b8d0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c58ce81c-602a-42be-bfdf-91064c1e668b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401737.6238415} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"55bb66ca444b5b19cca96b68ee62b8d0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79d63fc7-dc30-4124-acf4-4839d8c7be06","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79d63fc7-dc30-4124-acf4-4839d8c7be06","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:17.123041873Z"}]},"request_id":"7e80a843-d850-4883-9f2d-fcea7532b503","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401737.638668} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"55bb66ca444b5b19cca96b68ee62b8d0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/79d63fc7-dc30-4124-acf4-4839d8c7be06 200 36ms","method":"PATCH","requestID":"55bb66ca444b5b19cca96b68ee62b8d0","responseTime":36,"status":200,"url":"/devices/79d63fc7-dc30-4124-acf4-4839d8c7be06"} gateway-1 | {"time_local":"29/Apr/2024:14:42:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/79d63fc7-dc30-4124-acf4-4839d8c7be06 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.041","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"55bb66ca444b5b19cca96b68ee62b8d0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczN30.ssv3tGtAxOHxrKUZqe9YpSgPHkLEEONFwICiGX50wTQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7341b1226fb8e75e5c43c24b2e2f0023","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:17Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.048391,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:17Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/79d63fc7-dc30-4124-acf4-4839d8c7be06","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/79d63fc7-dc30-4124-acf4-4839d8c7be06","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401737,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczN30.ssv3tGtAxOHxrKUZqe9YpSgPHkLEEONFwICiGX50wTQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7341b1226fb8e75e5c43c24b2e2f0023"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/79d63fc7-dc30-4124-acf4-4839d8c7be06/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.022","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"7341b1226fb8e75e5c43c24b2e2f0023"} device-1 | {"level":"info","message":"POST /devices/79d63fc7-dc30-4124-acf4-4839d8c7be06/websocket 200 18ms","method":"POST","requestID":"7341b1226fb8e75e5c43c24b2e2f0023","responseTime":18,"status":200,"url":"/devices/79d63fc7-dc30-4124-acf4-4839d8c7be06/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/79d63fc7-dc30-4124-acf4-4839d8c7be06' connected"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"264b06c23ff2e6131dc527c1b880ba2d","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2024:14:42:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede/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":"264b06c23ff2e6131dc527c1b880ba2d"} device-1 | {"level":"info","message":"OPTIONS /devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede/websocket 200 1ms","method":"OPTIONS","requestID":"264b06c23ff2e6131dc527c1b880ba2d","responseTime":1,"status":200,"url":"/devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczOX0.-gSX1bMcs3y0V2_aB7ggT3SsIW2bnjBIv9puXkx5guc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"a8dbd1143ecc3ddccc7adf83eca87430","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.296157,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401739,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczOX0.-gSX1bMcs3y0V2_aB7ggT3SsIW2bnjBIv9puXkx5guc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a8dbd1143ecc3ddccc7adf83eca87430"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.030","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a8dbd1143ecc3ddccc7adf83eca87430"} device-1 | {"level":"info","message":"POST /devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede/websocket 200 22ms","method":"POST","requestID":"a8dbd1143ecc3ddccc7adf83eca87430","responseTime":22,"status":200,"url":"/devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczOX0.-gSX1bMcs3y0V2_aB7ggT3SsIW2bnjBIv9puXkx5guc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e91ce7875edeeeea8a41dd6d81f19862","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.222577,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401739,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczOX0.-gSX1bMcs3y0V2_aB7ggT3SsIW2bnjBIv9puXkx5guc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e91ce7875edeeeea8a41dd6d81f19862"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfe44ee1-bd66-4b36-9c58-c868206d2ede","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfe44ee1-bd66-4b36-9c58-c868206d2ede","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:17.076328506Z"}]},"request_id":"e47fe88d-6461-44fe-86fa-302e4662e98b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401739.1528454} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e91ce7875edeeeea8a41dd6d81f19862"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e91ce7875edeeeea8a41dd6d81f19862"} device-1 | {"level":"info","message":"GET /devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede? 200 17ms","method":"GET","requestID":"e91ce7875edeeeea8a41dd6d81f19862","responseTime":17,"status":200,"url":"/devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczOX0.-gSX1bMcs3y0V2_aB7ggT3SsIW2bnjBIv9puXkx5guc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"13c15fcccfad65498fb36274a43df97d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.403859,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/79d63fc7-dc30-4124-acf4-4839d8c7be06","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/79d63fc7-dc30-4124-acf4-4839d8c7be06","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401739,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczOX0.-gSX1bMcs3y0V2_aB7ggT3SsIW2bnjBIv9puXkx5guc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"13c15fcccfad65498fb36274a43df97d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79d63fc7-dc30-4124-acf4-4839d8c7be06","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79d63fc7-dc30-4124-acf4-4839d8c7be06","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:17.123041873Z"}]},"request_id":"f6624c46-6aab-4d78-81df-620d06b82255","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401739.1766202} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"13c15fcccfad65498fb36274a43df97d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/79d63fc7-dc30-4124-acf4-4839d8c7be06? 200 18ms","method":"GET","requestID":"13c15fcccfad65498fb36274a43df97d","responseTime":18,"status":200,"url":"/devices/79d63fc7-dc30-4124-acf4-4839d8c7be06?"} gateway-1 | {"time_local":"29/Apr/2024:14:42:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/79d63fc7-dc30-4124-acf4-4839d8c7be06? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"13c15fcccfad65498fb36274a43df97d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczOX0.-gSX1bMcs3y0V2_aB7ggT3SsIW2bnjBIv9puXkx5guc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"28c96efc573ec4c2fb778700df52f71b","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.068073,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401739,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczOX0.-gSX1bMcs3y0V2_aB7ggT3SsIW2bnjBIv9puXkx5guc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"28c96efc573ec4c2fb778700df52f71b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/98905c49-955e-4586-ad0f-40e315ed7c00"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/98905c49-955e-4586-ad0f-40e315ed7c00"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/98905c49-955e-4586-ad0f-40e315ed7c00"},"level":"info","message":"Successfully booked experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.662171,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401739,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczOX0.-gSX1bMcs3y0V2_aB7ggT3SsIW2bnjBIv9puXkx5guc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae338f70-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.725154,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/79d63fc7-dc30-4124-acf4-4839d8c7be06","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/79d63fc7-dc30-4124-acf4-4839d8c7be06","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401739,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczOX0.-gSX1bMcs3y0V2_aB7ggT3SsIW2bnjBIv9puXkx5guc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae33b680-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfe44ee1-bd66-4b36-9c58-c868206d2ede","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfe44ee1-bd66-4b36-9c58-c868206d2ede","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:17.076328506Z"}]},"request_id":"db7c0543-7999-4d0f-9e67-154326c03ef7","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401739.2478926} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae338f70-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79d63fc7-dc30-4124-acf4-4839d8c7be06","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79d63fc7-dc30-4124-acf4-4839d8c7be06","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:17.123041873Z"}]},"request_id":"7bf80976-e7c6-495b-9611-5f44029ca81c","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401739.2489738} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae33b680-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede? 200 14ms","method":"GET","requestID":"ae338f70-0636-11ef-8c83-05b823ec2e4f","responseTime":14,"status":200,"url":"/devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/79d63fc7-dc30-4124-acf4-4839d8c7be06? 200 14ms","method":"GET","requestID":"ae33b680-0636-11ef-8c83-05b823ec2e4f","responseTime":14,"status":200,"url":"/devices/79d63fc7-dc30-4124-acf4-4839d8c7be06?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/98905c49-955e-4586-ad0f-40e315ed7c00"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/98905c49-955e-4586-ad0f-40e315ed7c00"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/98905c49-955e-4586-ad0f-40e315ed7c00"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/98905c49-955e-4586-ad0f-40e315ed7c00"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/98905c49-955e-4586-ad0f-40e315ed7c00"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/98905c49-955e-4586-ad0f-40e315ed7c00"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/98905c49-955e-4586-ad0f-40e315ed7c00"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/98905c49-955e-4586-ad0f-40e315ed7c00"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/98905c49-955e-4586-ad0f-40e315ed7c00"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.176114,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401739,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczOX0.-gSX1bMcs3y0V2_aB7ggT3SsIW2bnjBIv9puXkx5guc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae3b7eb0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.719486,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"client_addr":"127.0.0.1:54044","level":"info","msg":"Received request.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/79d63fc7-dc30-4124-acf4-4839d8c7be06","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/79d63fc7-dc30-4124-acf4-4839d8c7be06","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401739,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczOX0.-gSX1bMcs3y0V2_aB7ggT3SsIW2bnjBIv9puXkx5guc"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae3ba5c0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:54044","level":"info","msg":"Sent response.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.415952,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfe44ee1-bd66-4b36-9c58-c868206d2ede","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"28554c71-6e43-462c-a8e4-df21d177dd26","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401739.2987258} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae3bccd0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede/signaling 200 14ms","method":"POST","requestID":"ae3bccd0-0636-11ef-8c83-05b823ec2e4f","responseTime":14,"status":200,"url":"/devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede/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:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfe44ee1-bd66-4b36-9c58-c868206d2ede","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfe44ee1-bd66-4b36-9c58-c868206d2ede","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:17.076328506Z"}]},"request_id":"d3daa797-cd2c-4bea-89d7-65fa3cc4d514","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401739.3068125} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae3b7eb0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79d63fc7-dc30-4124-acf4-4839d8c7be06","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79d63fc7-dc30-4124-acf4-4839d8c7be06","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:17.123041873Z"}]},"request_id":"75f9439d-1556-4cc7-aea3-ccccc534abde","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401739.3080983} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae3ba5c0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F98905c49-955e-4586-ad0f-40e315ed7c00#owner@http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F98905c49-955e-4586-ad0f-40e315ed7c00","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"6c2a76d7-f9b3-41e6-a379-95a6a0901fb7","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401739.3127759} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f2b53452-d36b-47dd-9a40-b6b94413c96f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401739.3130686} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"28c96efc573ec4c2fb778700df52f71b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} device-1 | {"level":"info","message":"GET /devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede? 200 25ms","method":"GET","requestID":"ae3b7eb0-0636-11ef-8c83-05b823ec2e4f","responseTime":25,"status":200,"url":"/devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede?"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79d63fc7-dc30-4124-acf4-4839d8c7be06","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4f893518-607e-422f-b22d-00ea0ee633bb","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401739.3156948} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.679005,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:19Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/79d63fc7-dc30-4124-acf4-4839d8c7be06? 200 25ms","method":"GET","requestID":"ae3ba5c0-0636-11ef-8c83-05b823ec2e4f","responseTime":25,"status":200,"url":"/devices/79d63fc7-dc30-4124-acf4-4839d8c7be06?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/79d63fc7-dc30-4124-acf4-4839d8c7be06","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/79d63fc7-dc30-4124-acf4-4839d8c7be06","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae3e8bf0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/79d63fc7-dc30-4124-acf4-4839d8c7be06/signaling 200 9ms","method":"POST","requestID":"ae3e8bf0-0636-11ef-8c83-05b823ec2e4f","responseTime":9,"status":200,"url":"/devices/79d63fc7-dc30-4124-acf4-4839d8c7be06/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:19Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/98905c49-955e-4586-ad0f-40e315ed7c00","user":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"29/Apr/2024:14:42:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.141","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"28c96efc573ec4c2fb778700df52f71b"} experiment-1 | {"level":"info","message":"POST /experiments? 201 136ms","method":"POST","requestID":"28c96efc573ec4c2fb778700df52f71b","responseTime":136,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfe44ee1-bd66-4b36-9c58-c868206d2ede","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d55531bb-0fa8-44c9-b480-6892b0defd39","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401739.3249087} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.543922,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae401290-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczOX0.-gSX1bMcs3y0V2_aB7ggT3SsIW2bnjBIv9puXkx5guc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1a491fb0fcf2576acd9c9bf0f4402fa6","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede/signaling 200 9ms","method":"POST","requestID":"ae401290-0636-11ef-8c83-05b823ec2e4f","responseTime":9,"status":200,"url":"/devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede/signaling"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.672682,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401739,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczOX0.-gSX1bMcs3y0V2_aB7ggT3SsIW2bnjBIv9puXkx5guc"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1a491fb0fcf2576acd9c9bf0f4402fa6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfe44ee1-bd66-4b36-9c58-c868206d2ede","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfe44ee1-bd66-4b36-9c58-c868206d2ede","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:17.076328506Z"}]},"request_id":"6ff786eb-a7f5-4781-89bc-c3d5a8c8fdec","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401739.336651} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79d63fc7-dc30-4124-acf4-4839d8c7be06","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"67975e89-def7-4eec-9b6f-a5ed2c4a6e32","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401739.3366635} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1a491fb0fcf2576acd9c9bf0f4402fa6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.274806,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/79d63fc7-dc30-4124-acf4-4839d8c7be06","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/79d63fc7-dc30-4124-acf4-4839d8c7be06","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae41e750-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede? 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":"1a491fb0fcf2576acd9c9bf0f4402fa6"} device-1 | {"level":"info","message":"GET /devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede? 200 12ms","method":"GET","requestID":"1a491fb0fcf2576acd9c9bf0f4402fa6","responseTime":12,"status":200,"url":"/devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/79d63fc7-dc30-4124-acf4-4839d8c7be06/signaling 200 9ms","method":"POST","requestID":"ae41e750-0636-11ef-8c83-05b823ec2e4f","responseTime":9,"status":200,"url":"/devices/79d63fc7-dc30-4124-acf4-4839d8c7be06/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/98905c49-955e-4586-ad0f-40e315ed7c00"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/98905c49-955e-4586-ad0f-40e315ed7c00"},"level":"info","message":"Building connection plan"} 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":"dd7552f9-35aa-438d-b6db-5412cdae6b59"},{"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":"a2068371-312b-45cd-b15d-d8122556166c"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"762198b1-4f57-4429-8961-f045d02276c2"}]},"level":"info","message":"Built pairwise service configurations"} 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/cfe44ee1-bd66-4b36-9c58-c868206d2ede"},{"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/79d63fc7-dc30-4124-acf4-4839d8c7be06"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczOX0.-gSX1bMcs3y0V2_aB7ggT3SsIW2bnjBIv9puXkx5guc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ac7f874e3885fdd82699a49a58b222dc","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.628726,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401739,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczOX0.-gSX1bMcs3y0V2_aB7ggT3SsIW2bnjBIv9puXkx5guc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae43bc10-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.551297,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/79d63fc7-dc30-4124-acf4-4839d8c7be06","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/79d63fc7-dc30-4124-acf4-4839d8c7be06","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401739,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczOX0.-gSX1bMcs3y0V2_aB7ggT3SsIW2bnjBIv9puXkx5guc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ac7f874e3885fdd82699a49a58b222dc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79d63fc7-dc30-4124-acf4-4839d8c7be06","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79d63fc7-dc30-4124-acf4-4839d8c7be06","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:17.123041873Z"}]},"request_id":"ba1e587e-1b29-41dc-b42c-c8efc5e23c1e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401739.3551621} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ac7f874e3885fdd82699a49a58b222dc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/79d63fc7-dc30-4124-acf4-4839d8c7be06? 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":"ac7f874e3885fdd82699a49a58b222dc"} device-1 | {"level":"info","message":"GET /devices/79d63fc7-dc30-4124-acf4-4839d8c7be06? 200 13ms","method":"GET","requestID":"ac7f874e3885fdd82699a49a58b222dc","responseTime":13,"status":200,"url":"/devices/79d63fc7-dc30-4124-acf4-4839d8c7be06?"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","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%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"dab5e8c2-0718-4f21-b758-862c45188372","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401739.3601289} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"82886589-08bf-4be1-bd56-9bd648b9eb47","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401739.360388} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae43bc10-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/71e2f9c3-99d8-4e4c-a184-85c4d213af65'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/71e2f9c3-99d8-4e4c-a184-85c4d213af65'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 39ms","method":"POST","requestID":"ae43bc10-0636-11ef-8c83-05b823ec2e4f","responseTime":39,"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"} device-1 | {"data":{"peerconnection":"71e2f9c3-99d8-4e4c-a184-85c4d213af65","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/98905c49-955e-4586-ad0f-40e315ed7c00"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfe44ee1-bd66-4b36-9c58-c868206d2ede","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"94985449-818e-4610-a29c-ecfedbe493c5","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401739.416732} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.146663,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae4dce30-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede/signaling 200 10ms","method":"POST","requestID":"ae4dce30-0636-11ef-8c83-05b823ec2e4f","responseTime":10,"status":200,"url":"/devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79d63fc7-dc30-4124-acf4-4839d8c7be06","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d462951f-3e8d-4691-bd61-0f97472675cd","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401739.4272563} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.008881,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/79d63fc7-dc30-4124-acf4-4839d8c7be06","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/79d63fc7-dc30-4124-acf4-4839d8c7be06","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae4fa2f0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/79d63fc7-dc30-4124-acf4-4839d8c7be06/signaling 200 9ms","method":"POST","requestID":"ae4fa2f0-0636-11ef-8c83-05b823ec2e4f","responseTime":9,"status":200,"url":"/devices/79d63fc7-dc30-4124-acf4-4839d8c7be06/signaling"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/71e2f9c3-99d8-4e4c-a184-85c4d213af65' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"71e2f9c3-99d8-4e4c-a184-85c4d213af65","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8641509ba027aee0bac98aba6d7fafbf","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/cfe44ee1-bd66-4b36-9c58-c868206d2ede"},{"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/79d63fc7-dc30-4124-acf4-4839d8c7be06"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/71e2f9c3-99d8-4e4c-a184-85c4d213af65"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"8641509ba027aee0bac98aba6d7fafbf","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"8641509ba027aee0bac98aba6d7fafbf"} device-1 | {"data":{"peerconnection":"71e2f9c3-99d8-4e4c-a184-85c4d213af65","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"71e2f9c3-99d8-4e4c-a184-85c4d213af65","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/71e2f9c3-99d8-4e4c-a184-85c4d213af65' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"71e2f9c3-99d8-4e4c-a184-85c4d213af65","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"869b13a9c690d15ddb8e16764fa92048","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/cfe44ee1-bd66-4b36-9c58-c868206d2ede"},{"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/79d63fc7-dc30-4124-acf4-4839d8c7be06"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/71e2f9c3-99d8-4e4c-a184-85c4d213af65"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F71e2f9c3-99d8-4e4c-a184-85c4d213af65","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"006c4b62-8103-4cc2-8647-b548fecc893d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401739.51099} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.929033,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/71e2f9c3-99d8-4e4c-a184-85c4d213af65","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/71e2f9c3-99d8-4e4c-a184-85c4d213af65","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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae5c4d20-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/71e2f9c3-99d8-4e4c-a184-85c4d213af65 200 9ms","method":"GET","requestID":"ae5c4d20-0636-11ef-8c83-05b823ec2e4f","responseTime":9,"status":200,"url":"/peerconnections/71e2f9c3-99d8-4e4c-a184-85c4d213af65"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 24ms","method":"POST","requestID":"869b13a9c690d15ddb8e16764fa92048","responseTime":24,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.028","http_referrer":"","http_user_agent":"node-fetch","requestID":"869b13a9c690d15ddb8e16764fa92048"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfe44ee1-bd66-4b36-9c58-c868206d2ede","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ed660812-65fc-4628-884f-fd8cd8ce114d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401739.5314457} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.068774,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae5f8170-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede/signaling 200 8ms","method":"POST","requestID":"ae5f8170-0636-11ef-8c83-05b823ec2e4f","responseTime":8,"status":200,"url":"/devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79d63fc7-dc30-4124-acf4-4839d8c7be06","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"99ae9944-afd5-4c99-a957-38886a517d51","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401739.5416415} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.096394,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/79d63fc7-dc30-4124-acf4-4839d8c7be06","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/79d63fc7-dc30-4124-acf4-4839d8c7be06","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae610810-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/79d63fc7-dc30-4124-acf4-4839d8c7be06/signaling 200 8ms","method":"POST","requestID":"ae610810-0636-11ef-8c83-05b823ec2e4f","responseTime":8,"status":200,"url":"/devices/79d63fc7-dc30-4124-acf4-4839d8c7be06/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczOX0.-gSX1bMcs3y0V2_aB7ggT3SsIW2bnjBIv9puXkx5guc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f49fa78d844b27fa8e781f9347b04f5c","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/98905c49-955e-4586-ad0f-40e315ed7c00"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.085574,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/98905c49-955e-4586-ad0f-40e315ed7c00","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/98905c49-955e-4586-ad0f-40e315ed7c00","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401739,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczOX0.-gSX1bMcs3y0V2_aB7ggT3SsIW2bnjBIv9puXkx5guc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f49fa78d844b27fa8e781f9347b04f5c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/98905c49-955e-4586-ad0f-40e315ed7c00"} gateway-1 | {"time_local":"29/Apr/2024:14:42:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/98905c49-955e-4586-ad0f-40e315ed7c00 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f49fa78d844b27fa8e781f9347b04f5c"} experiment-1 | {"level":"info","message":"GET /experiments/98905c49-955e-4586-ad0f-40e315ed7c00 200 13ms","method":"GET","requestID":"f49fa78d844b27fa8e781f9347b04f5c","responseTime":13,"status":200,"url":"/experiments/98905c49-955e-4586-ad0f-40e315ed7c00"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczOX0.-gSX1bMcs3y0V2_aB7ggT3SsIW2bnjBIv9puXkx5guc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d56bdbc4fcc834c217d1e99b57b546d9","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/98905c49-955e-4586-ad0f-40e315ed7c00"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.053457,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/98905c49-955e-4586-ad0f-40e315ed7c00","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/98905c49-955e-4586-ad0f-40e315ed7c00","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401739,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczOX0.-gSX1bMcs3y0V2_aB7ggT3SsIW2bnjBIv9puXkx5guc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d56bdbc4fcc834c217d1e99b57b546d9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/98905c49-955e-4586-ad0f-40e315ed7c00"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.212895,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/71e2f9c3-99d8-4e4c-a184-85c4d213af65","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:http://localhost/peerconnections/71e2f9c3-99d8-4e4c-a184-85c4d213af65","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401739,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczOX0.-gSX1bMcs3y0V2_aB7ggT3SsIW2bnjBIv9puXkx5guc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae702340-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/71e2f9c3-99d8-4e4c-a184-85c4d213af65' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/71e2f9c3-99d8-4e4c-a184-85c4d213af65' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"71e2f9c3-99d8-4e4c-a184-85c4d213af65","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F71e2f9c3-99d8-4e4c-a184-85c4d213af65': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F71e2f9c3-99d8-4e4c-a184-85c4d213af65","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"89dde094-c549-4985-8911-e3354e618c1d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401739.658112} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c5dc9eaf23bc85358222cc1796317302","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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a7a7a592-282e-45eb-a4b3-6bad8182e65a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401739.658583} 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/cfe44ee1-bd66-4b36-9c58-c868206d2ede"},{"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/79d63fc7-dc30-4124-acf4-4839d8c7be06"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/71e2f9c3-99d8-4e4c-a184-85c4d213af65"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae702340-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"f0bdfd156dc3667f97e1e1fc1e59107b","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/cfe44ee1-bd66-4b36-9c58-c868206d2ede"},{"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/79d63fc7-dc30-4124-acf4-4839d8c7be06"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/71e2f9c3-99d8-4e4c-a184-85c4d213af65"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"71e2f9c3-99d8-4e4c-a184-85c4d213af65","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/71e2f9c3-99d8-4e4c-a184-85c4d213af65 204 243ms","method":"DELETE","requestID":"ae702340-0636-11ef-8c83-05b823ec2e4f","responseTime":243,"status":204,"url":"/peerconnections/71e2f9c3-99d8-4e4c-a184-85c4d213af65"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/98905c49-955e-4586-ad0f-40e315ed7c00"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfe44ee1-bd66-4b36-9c58-c868206d2ede","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c53648a1-17fa-4279-8332-0d99e1e71d3d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401739.913335} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.113075,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae992f10-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede/signaling 200 17ms","method":"POST","requestID":"ae992f10-0636-11ef-8c83-05b823ec2e4f","responseTime":17,"status":200,"url":"/devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede/signaling"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F98905c49-955e-4586-ad0f-40e315ed7c00': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F98905c49-955e-4586-ad0f-40e315ed7c00","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"86d849a8-6611-4b51-998f-7c8f27ce18fa","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401739.9223776} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"61bbe3ea-38ef-46db-a8de-9e406fb2ee12","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401739.92305} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d56bdbc4fcc834c217d1e99b57b546d9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79d63fc7-dc30-4124-acf4-4839d8c7be06","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8a0dec46-3498-4395-bc9d-46be85906d23","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401739.9329877} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.918985,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/79d63fc7-dc30-4124-acf4-4839d8c7be06","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/79d63fc7-dc30-4124-acf4-4839d8c7be06","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae9c6360-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/79d63fc7-dc30-4124-acf4-4839d8c7be06/signaling 200 15ms","method":"POST","requestID":"ae9c6360-0636-11ef-8c83-05b823ec2e4f","responseTime":15,"status":200,"url":"/devices/79d63fc7-dc30-4124-acf4-4839d8c7be06/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/98905c49-955e-4586-ad0f-40e315ed7c00"} gateway-1 | {"time_local":"29/Apr/2024:14:42:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/98905c49-955e-4586-ad0f-40e315ed7c00 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.371","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d56bdbc4fcc834c217d1e99b57b546d9"} gateway-1 | {"time_local":"29/Apr/2024:14:42:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2211","request_time":"2.320","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"3161f34759587e6117149ba2d3e0eb32"} experiment-1 | {"level":"info","message":"DELETE /experiments/98905c49-955e-4586-ad0f-40e315ed7c00 204 367ms","method":"DELETE","requestID":"d56bdbc4fcc834c217d1e99b57b546d9","responseTime":367,"status":204,"url":"/experiments/98905c49-955e-4586-ad0f-40e315ed7c00"} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.337","http_referrer":"","http_user_agent":"node-fetch","requestID":"c5dc9eaf23bc85358222cc1796317302"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 332ms","method":"POST","requestID":"c5dc9eaf23bc85358222cc1796317302","responseTime":332,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 332ms","method":"POST","requestID":"f0bdfd156dc3667f97e1e1fc1e59107b","responseTime":332,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczOX0.-gSX1bMcs3y0V2_aB7ggT3SsIW2bnjBIv9puXkx5guc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"78ba227213101ef5170bdd18c0fe56cf","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:20Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.934209,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401739,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTczOX0.-gSX1bMcs3y0V2_aB7ggT3SsIW2bnjBIv9puXkx5guc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"78ba227213101ef5170bdd18c0fe56cf"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.343","http_referrer":"","http_user_agent":"node-fetch","requestID":"f0bdfd156dc3667f97e1e1fc1e59107b"} gateway-1 | {"time_local":"29/Apr/2024:14:42:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2163","request_time":"0.876","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ba33d65738d43cd6e7520a448c9ad375"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/79d63fc7-dc30-4124-acf4-4839d8c7be06' 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:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90cbed72-688f-4774-bd5e-aa451f49d710","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"46718388-e1a3-4102-86a0-363e67b9ac59","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401740.0228353} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"78ba227213101ef5170bdd18c0fe56cf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/cfe44ee1-bd66-4b36-9c58-c868206d2ede' 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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d4b41f18-87f3-4530-a94e-bf199cd0c1d4","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401740.0288475} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"78ba227213101ef5170bdd18c0fe56cf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90cbed72-688f-4774-bd5e-aa451f49d710","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"f49a23e1-0ead-4d1b-bc87-cfb284ca2128","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401740.0381353} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ac0e830d-c9bf-4bf4-8239-286fd585f5cf","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401740.0382745} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"78ba227213101ef5170bdd18c0fe56cf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90cbed72-688f-4774-bd5e-aa451f49d710","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90cbed72-688f-4774-bd5e-aa451f49d710","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:20.038089379Z"}]},"request_id":"98bdec5a-e63a-4d41-8356-a90e98b777fa","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401740.0425992} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"78ba227213101ef5170bdd18c0fe56cf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"78ba227213101ef5170bdd18c0fe56cf"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"78ba227213101ef5170bdd18c0fe56cf","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0MH0.VBkFA361EGoysDLzn80QsW0rM_0YcXSfuSEZei7gT0Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1db8844c59bc9743951f353a95a7a694","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:20Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.907995,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401740,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0MH0.VBkFA361EGoysDLzn80QsW0rM_0YcXSfuSEZei7gT0Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1db8844c59bc9743951f353a95a7a694"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88b5595c-0516-4a16-8eec-df51788677d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0376b346-f346-43eb-bfa9-cfbc7c2b54b3","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401740.0664601} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1db8844c59bc9743951f353a95a7a694"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6ec0ad7a-d91d-4bce-929a-180008f46a62","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401740.0709171} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1db8844c59bc9743951f353a95a7a694"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88b5595c-0516-4a16-8eec-df51788677d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"333a0595-52cb-4cae-b2d1-8d7a40bcb207","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401740.081636} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0cfa4afd-ab8d-4088-8c5c-7128f2aa8420","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401740.081758} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1db8844c59bc9743951f353a95a7a694"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88b5595c-0516-4a16-8eec-df51788677d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88b5595c-0516-4a16-8eec-df51788677d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:20.081613265Z"}]},"request_id":"36fe5e4c-fd0e-4d35-96e3-f9205215c09b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401740.085766} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1db8844c59bc9743951f353a95a7a694"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1db8844c59bc9743951f353a95a7a694"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"1db8844c59bc9743951f353a95a7a694","responseTime":39,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0MH0.VBkFA361EGoysDLzn80QsW0rM_0YcXSfuSEZei7gT0Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9d7718d2dee896f4d3692c7cc839b57c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:20Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.960882,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:20Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/90cbed72-688f-4774-bd5e-aa451f49d710","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/90cbed72-688f-4774-bd5e-aa451f49d710","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401740,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0MH0.VBkFA361EGoysDLzn80QsW0rM_0YcXSfuSEZei7gT0Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9d7718d2dee896f4d3692c7cc839b57c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90cbed72-688f-4774-bd5e-aa451f49d710","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90cbed72-688f-4774-bd5e-aa451f49d710","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:20.038089379Z"}]},"request_id":"95dc6c8f-f0ca-4666-a130-6650f6e889d2","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401740.588333} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9d7718d2dee896f4d3692c7cc839b57c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4fc4856a-f217-468e-8da3-58d7b9223509","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401740.5939317} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9d7718d2dee896f4d3692c7cc839b57c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90cbed72-688f-4774-bd5e-aa451f49d710","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90cbed72-688f-4774-bd5e-aa451f49d710","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:20.038089379Z"}]},"request_id":"8c519d83-e6ce-4499-a741-a94bd0c5bbed","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401740.613015} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9d7718d2dee896f4d3692c7cc839b57c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/90cbed72-688f-4774-bd5e-aa451f49d710 200 44ms","method":"PATCH","requestID":"9d7718d2dee896f4d3692c7cc839b57c","responseTime":44,"status":200,"url":"/devices/90cbed72-688f-4774-bd5e-aa451f49d710"} gateway-1 | {"time_local":"29/Apr/2024:14:42:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/90cbed72-688f-4774-bd5e-aa451f49d710 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.051","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"9d7718d2dee896f4d3692c7cc839b57c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0MH0.VBkFA361EGoysDLzn80QsW0rM_0YcXSfuSEZei7gT0Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ec2dc8f031ba1da71056fa7ce0f26d10","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:20Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.241499,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:20Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/90cbed72-688f-4774-bd5e-aa451f49d710","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/90cbed72-688f-4774-bd5e-aa451f49d710","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401740,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0MH0.VBkFA361EGoysDLzn80QsW0rM_0YcXSfuSEZei7gT0Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ec2dc8f031ba1da71056fa7ce0f26d10"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/90cbed72-688f-4774-bd5e-aa451f49d710/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"ec2dc8f031ba1da71056fa7ce0f26d10"} device-1 | {"level":"info","message":"POST /devices/90cbed72-688f-4774-bd5e-aa451f49d710/websocket 200 22ms","method":"POST","requestID":"ec2dc8f031ba1da71056fa7ce0f26d10","responseTime":22,"status":200,"url":"/devices/90cbed72-688f-4774-bd5e-aa451f49d710/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/90cbed72-688f-4774-bd5e-aa451f49d710' connected"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"564531f681d48cb097890d4fa475969e","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2024:14:42:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/88b5595c-0516-4a16-8eec-df51788677d7/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":"564531f681d48cb097890d4fa475969e"} device-1 | {"level":"info","message":"OPTIONS /devices/88b5595c-0516-4a16-8eec-df51788677d7/websocket 200 1ms","method":"OPTIONS","requestID":"564531f681d48cb097890d4fa475969e","responseTime":1,"status":200,"url":"/devices/88b5595c-0516-4a16-8eec-df51788677d7/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0Mn0.YbuvZwu0FxTfIP14bJAyKj9GWzTYIC0Hq4UcFzeIM5M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4c69c702024cfaa0d5f234db34140aa1","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:22Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.265534,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:22Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/88b5595c-0516-4a16-8eec-df51788677d7","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/88b5595c-0516-4a16-8eec-df51788677d7","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401742,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0Mn0.YbuvZwu0FxTfIP14bJAyKj9GWzTYIC0Hq4UcFzeIM5M"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4c69c702024cfaa0d5f234db34140aa1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/88b5595c-0516-4a16-8eec-df51788677d7/websocket 200 38ms","method":"POST","requestID":"4c69c702024cfaa0d5f234db34140aa1","responseTime":38,"status":200,"url":"/devices/88b5595c-0516-4a16-8eec-df51788677d7/websocket"} gateway-1 | {"time_local":"29/Apr/2024:14:42:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/88b5595c-0516-4a16-8eec-df51788677d7/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":"4c69c702024cfaa0d5f234db34140aa1"} device-1 | {"level":"info","message":"device 'http://localhost/devices/88b5595c-0516-4a16-8eec-df51788677d7' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0Mn0.YbuvZwu0FxTfIP14bJAyKj9GWzTYIC0Hq4UcFzeIM5M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c93b6a72817b344dca78c29276760ebb","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:22Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.250158,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/90cbed72-688f-4774-bd5e-aa451f49d710","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/90cbed72-688f-4774-bd5e-aa451f49d710","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401742,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0Mn0.YbuvZwu0FxTfIP14bJAyKj9GWzTYIC0Hq4UcFzeIM5M"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c93b6a72817b344dca78c29276760ebb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90cbed72-688f-4774-bd5e-aa451f49d710","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90cbed72-688f-4774-bd5e-aa451f49d710","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:20.038089379Z"}]},"request_id":"01cce8fe-2afd-4636-948e-d43ac7819503","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401742.1803083} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c93b6a72817b344dca78c29276760ebb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/90cbed72-688f-4774-bd5e-aa451f49d710? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c93b6a72817b344dca78c29276760ebb"} device-1 | {"level":"info","message":"GET /devices/90cbed72-688f-4774-bd5e-aa451f49d710? 200 18ms","method":"GET","requestID":"c93b6a72817b344dca78c29276760ebb","responseTime":18,"status":200,"url":"/devices/90cbed72-688f-4774-bd5e-aa451f49d710?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0Mn0.YbuvZwu0FxTfIP14bJAyKj9GWzTYIC0Hq4UcFzeIM5M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"851c4f0af43c2d780cb0d1525dd35672","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:22Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.303926,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/88b5595c-0516-4a16-8eec-df51788677d7","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/88b5595c-0516-4a16-8eec-df51788677d7","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401742,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0Mn0.YbuvZwu0FxTfIP14bJAyKj9GWzTYIC0Hq4UcFzeIM5M"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"851c4f0af43c2d780cb0d1525dd35672"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88b5595c-0516-4a16-8eec-df51788677d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88b5595c-0516-4a16-8eec-df51788677d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:20.081613265Z"}]},"request_id":"9157d159-344f-44c6-a3d5-8bec92205f9e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401742.206941} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"851c4f0af43c2d780cb0d1525dd35672"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/88b5595c-0516-4a16-8eec-df51788677d7? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"851c4f0af43c2d780cb0d1525dd35672"} device-1 | {"level":"info","message":"GET /devices/88b5595c-0516-4a16-8eec-df51788677d7? 200 19ms","method":"GET","requestID":"851c4f0af43c2d780cb0d1525dd35672","responseTime":19,"status":200,"url":"/devices/88b5595c-0516-4a16-8eec-df51788677d7?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0Mn0.YbuvZwu0FxTfIP14bJAyKj9GWzTYIC0Hq4UcFzeIM5M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bcb6dab6ea7fc8c64b8bb3046671c004","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:22Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.347351,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401742,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0Mn0.YbuvZwu0FxTfIP14bJAyKj9GWzTYIC0Hq4UcFzeIM5M"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bcb6dab6ea7fc8c64b8bb3046671c004"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfac399e-b9f1-443a-8016-e6c9abed7aed"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfac399e-b9f1-443a-8016-e6c9abed7aed"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfac399e-b9f1-443a-8016-e6c9abed7aed"},"level":"info","message":"Successfully booked experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:22Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.131047,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/90cbed72-688f-4774-bd5e-aa451f49d710","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/90cbed72-688f-4774-bd5e-aa451f49d710","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401742,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0Mn0.YbuvZwu0FxTfIP14bJAyKj9GWzTYIC0Hq4UcFzeIM5M"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b00409b0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:22Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.25402,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/88b5595c-0516-4a16-8eec-df51788677d7","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/88b5595c-0516-4a16-8eec-df51788677d7","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401742,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0Mn0.YbuvZwu0FxTfIP14bJAyKj9GWzTYIC0Hq4UcFzeIM5M"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b00457d0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90cbed72-688f-4774-bd5e-aa451f49d710","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90cbed72-688f-4774-bd5e-aa451f49d710","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:20.038089379Z"}]},"request_id":"ae85e682-9c77-4dc0-aea1-357ab4e2ba3d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401742.294535} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b00409b0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88b5595c-0516-4a16-8eec-df51788677d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88b5595c-0516-4a16-8eec-df51788677d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:20.081613265Z"}]},"request_id":"90a3de93-6c33-4f2e-87fc-ca34b54b6f95","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401742.2963269} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b00457d0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/90cbed72-688f-4774-bd5e-aa451f49d710? 200 19ms","method":"GET","requestID":"b00409b0-0636-11ef-8c83-05b823ec2e4f","responseTime":19,"status":200,"url":"/devices/90cbed72-688f-4774-bd5e-aa451f49d710?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/88b5595c-0516-4a16-8eec-df51788677d7? 200 18ms","method":"GET","requestID":"b00457d0-0636-11ef-8c83-05b823ec2e4f","responseTime":18,"status":200,"url":"/devices/88b5595c-0516-4a16-8eec-df51788677d7?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfac399e-b9f1-443a-8016-e6c9abed7aed"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfac399e-b9f1-443a-8016-e6c9abed7aed"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfac399e-b9f1-443a-8016-e6c9abed7aed"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfac399e-b9f1-443a-8016-e6c9abed7aed"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfac399e-b9f1-443a-8016-e6c9abed7aed"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfac399e-b9f1-443a-8016-e6c9abed7aed"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfac399e-b9f1-443a-8016-e6c9abed7aed"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfac399e-b9f1-443a-8016-e6c9abed7aed"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:22Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfac399e-b9f1-443a-8016-e6c9abed7aed"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.821667,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:22Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/90cbed72-688f-4774-bd5e-aa451f49d710","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/90cbed72-688f-4774-bd5e-aa451f49d710","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401742,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0Mn0.YbuvZwu0FxTfIP14bJAyKj9GWzTYIC0Hq4UcFzeIM5M"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b00f0630-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.614786,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/88b5595c-0516-4a16-8eec-df51788677d7","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/88b5595c-0516-4a16-8eec-df51788677d7","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401742,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0Mn0.YbuvZwu0FxTfIP14bJAyKj9GWzTYIC0Hq4UcFzeIM5M"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b00f5450-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:22Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90cbed72-688f-4774-bd5e-aa451f49d710","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c71627e5-65fd-4aa1-a5c6-158ebfe0e376","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401742.370602} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.658776,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/90cbed72-688f-4774-bd5e-aa451f49d710","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/90cbed72-688f-4774-bd5e-aa451f49d710","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b00fa270-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90cbed72-688f-4774-bd5e-aa451f49d710","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90cbed72-688f-4774-bd5e-aa451f49d710","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:20.038089379Z"}]},"request_id":"12f471d3-1097-4678-b776-ee5cc1becead","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401742.3747823} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88b5595c-0516-4a16-8eec-df51788677d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88b5595c-0516-4a16-8eec-df51788677d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:20.081613265Z"}]},"request_id":"7b572125-df5a-45f0-b323-908af259fcdd","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401742.37717} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b00f0630-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b00f5450-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdfac399e-b9f1-443a-8016-e6c9abed7aed#owner@http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdfac399e-b9f1-443a-8016-e6c9abed7aed","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"d092a85f-178d-4d78-9ca2-2acaf848aaf6","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401742.3856876} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0fdaaa10-7d0b-4676-9c7d-dc74d15bebcb","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401742.3864346} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bcb6dab6ea7fc8c64b8bb3046671c004"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/90cbed72-688f-4774-bd5e-aa451f49d710/signaling 200 31ms","method":"POST","requestID":"b00fa270-0636-11ef-8c83-05b823ec2e4f","responseTime":31,"status":200,"url":"/devices/90cbed72-688f-4774-bd5e-aa451f49d710/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/90cbed72-688f-4774-bd5e-aa451f49d710? 200 36ms","method":"GET","requestID":"b00f0630-0636-11ef-8c83-05b823ec2e4f","responseTime":36,"status":200,"url":"/devices/90cbed72-688f-4774-bd5e-aa451f49d710?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/88b5595c-0516-4a16-8eec-df51788677d7? 200 36ms","method":"GET","requestID":"b00f5450-0636-11ef-8c83-05b823ec2e4f","responseTime":36,"status":200,"url":"/devices/88b5595c-0516-4a16-8eec-df51788677d7?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:22Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88b5595c-0516-4a16-8eec-df51788677d7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8fbe39f3-8eea-42d7-bcde-436e15a6b5c0","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401742.4031894} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:22Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/dfac399e-b9f1-443a-8016-e6c9abed7aed","user":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"29/Apr/2024:14:42:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.189","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bcb6dab6ea7fc8c64b8bb3046671c004"} experiment-1 | {"level":"info","message":"POST /experiments? 201 182ms","method":"POST","requestID":"bcb6dab6ea7fc8c64b8bb3046671c004","responseTime":182,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.648551,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/88b5595c-0516-4a16-8eec-df51788677d7","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/88b5595c-0516-4a16-8eec-df51788677d7","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b01547c0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90cbed72-688f-4774-bd5e-aa451f49d710","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3ed57f8e-3eae-4169-946f-8ccf04979ca2","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401742.4073389} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.228751,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/90cbed72-688f-4774-bd5e-aa451f49d710","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/90cbed72-688f-4774-bd5e-aa451f49d710","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b015bcf0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0Mn0.YbuvZwu0FxTfIP14bJAyKj9GWzTYIC0Hq4UcFzeIM5M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b05281d29aa63c5197d27fd1f8204bba","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/88b5595c-0516-4a16-8eec-df51788677d7/signaling 200 18ms","method":"POST","requestID":"b01547c0-0636-11ef-8c83-05b823ec2e4f","responseTime":18,"status":200,"url":"/devices/88b5595c-0516-4a16-8eec-df51788677d7/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/90cbed72-688f-4774-bd5e-aa451f49d710/signaling 200 19ms","method":"POST","requestID":"b015bcf0-0636-11ef-8c83-05b823ec2e4f","responseTime":19,"status":200,"url":"/devices/90cbed72-688f-4774-bd5e-aa451f49d710/signaling"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:22Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.191169,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:22Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/90cbed72-688f-4774-bd5e-aa451f49d710","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/90cbed72-688f-4774-bd5e-aa451f49d710","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401742,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0Mn0.YbuvZwu0FxTfIP14bJAyKj9GWzTYIC0Hq4UcFzeIM5M"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b05281d29aa63c5197d27fd1f8204bba"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:22Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90cbed72-688f-4774-bd5e-aa451f49d710","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90cbed72-688f-4774-bd5e-aa451f49d710","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:20.038089379Z"}]},"request_id":"1d051738-29dc-404d-a90c-4147898c55d9","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401742.4260526} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88b5595c-0516-4a16-8eec-df51788677d7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d235aa17-5977-410f-b66c-d7f421aa874f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401742.4261367} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b05281d29aa63c5197d27fd1f8204bba"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.21515,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/88b5595c-0516-4a16-8eec-df51788677d7","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/88b5595c-0516-4a16-8eec-df51788677d7","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b0191850-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/90cbed72-688f-4774-bd5e-aa451f49d710? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b05281d29aa63c5197d27fd1f8204bba"} device-1 | {"level":"info","message":"GET /devices/90cbed72-688f-4774-bd5e-aa451f49d710? 200 16ms","method":"GET","requestID":"b05281d29aa63c5197d27fd1f8204bba","responseTime":16,"status":200,"url":"/devices/90cbed72-688f-4774-bd5e-aa451f49d710?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/88b5595c-0516-4a16-8eec-df51788677d7/signaling 200 11ms","method":"POST","requestID":"b0191850-0636-11ef-8c83-05b823ec2e4f","responseTime":11,"status":200,"url":"/devices/88b5595c-0516-4a16-8eec-df51788677d7/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfac399e-b9f1-443a-8016-e6c9abed7aed"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfac399e-b9f1-443a-8016-e6c9abed7aed"},"level":"info","message":"Building connection plan"} 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":"100e9afc-16cb-429a-9c1e-bfc337b90662"},{"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":"afac877b-6785-4b79-b5f3-730c836175e5"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"013320ba-9a6b-4939-b138-26fd2f9df098"}]},"level":"info","message":"Built pairwise service configurations"} 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/90cbed72-688f-4774-bd5e-aa451f49d710"},{"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/88b5595c-0516-4a16-8eec-df51788677d7"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0Mn0.YbuvZwu0FxTfIP14bJAyKj9GWzTYIC0Hq4UcFzeIM5M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dc0e3d85eca1383464aea6b6746ba6b8","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:22Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.695145,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:22Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:22Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.855662,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401742,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0Mn0.YbuvZwu0FxTfIP14bJAyKj9GWzTYIC0Hq4UcFzeIM5M"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b01b3b30-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/88b5595c-0516-4a16-8eec-df51788677d7","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/88b5595c-0516-4a16-8eec-df51788677d7","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401742,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0Mn0.YbuvZwu0FxTfIP14bJAyKj9GWzTYIC0Hq4UcFzeIM5M"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc0e3d85eca1383464aea6b6746ba6b8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88b5595c-0516-4a16-8eec-df51788677d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88b5595c-0516-4a16-8eec-df51788677d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:20.081613265Z"}]},"request_id":"29f900b3-430c-40e8-95c8-a4799b91dc1c","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401742.4476616} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc0e3d85eca1383464aea6b6746ba6b8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/88b5595c-0516-4a16-8eec-df51788677d7? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dc0e3d85eca1383464aea6b6746ba6b8"} device-1 | {"level":"info","message":"GET /devices/88b5595c-0516-4a16-8eec-df51788677d7? 200 14ms","method":"GET","requestID":"dc0e3d85eca1383464aea6b6746ba6b8","responseTime":14,"status":200,"url":"/devices/88b5595c-0516-4a16-8eec-df51788677d7?"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","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%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"c6d7b616-70c3-4037-a8c8-e6f2cec256d9","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401742.4518764} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d8e659b1-51a5-4251-9ecc-2d04798b3097","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401742.452111} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b01b3b30-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/c7944107-2b91-4827-9bf0-03da0ef5c9f5'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/c7944107-2b91-4827-9bf0-03da0ef5c9f5'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 41ms","method":"POST","requestID":"b01b3b30-0636-11ef-8c83-05b823ec2e4f","responseTime":41,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfac399e-b9f1-443a-8016-e6c9abed7aed"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:22Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90cbed72-688f-4774-bd5e-aa451f49d710","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"82dbbcc8-c3e0-4474-b64d-4b7dd8b45f22","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401742.5083954} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.064319,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/90cbed72-688f-4774-bd5e-aa451f49d710","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/90cbed72-688f-4774-bd5e-aa451f49d710","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b0257460-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/90cbed72-688f-4774-bd5e-aa451f49d710/signaling 200 15ms","method":"POST","requestID":"b0257460-0636-11ef-8c83-05b823ec2e4f","responseTime":15,"status":200,"url":"/devices/90cbed72-688f-4774-bd5e-aa451f49d710/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:22Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88b5595c-0516-4a16-8eec-df51788677d7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e800a343-332e-4b3d-a7d0-10ee6bac5032","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401742.526098} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.879985,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/88b5595c-0516-4a16-8eec-df51788677d7","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/88b5595c-0516-4a16-8eec-df51788677d7","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b0283380-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/88b5595c-0516-4a16-8eec-df51788677d7/signaling 200 11ms","method":"POST","requestID":"b0283380-0636-11ef-8c83-05b823ec2e4f","responseTime":11,"status":200,"url":"/devices/88b5595c-0516-4a16-8eec-df51788677d7/signaling"} device-1 | {"data":{"peerconnection":"c7944107-2b91-4827-9bf0-03da0ef5c9f5","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/c7944107-2b91-4827-9bf0-03da0ef5c9f5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c7944107-2b91-4827-9bf0-03da0ef5c9f5","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"47060a268d21265e20045dae21065add","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/90cbed72-688f-4774-bd5e-aa451f49d710"},{"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/88b5595c-0516-4a16-8eec-df51788677d7"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/c7944107-2b91-4827-9bf0-03da0ef5c9f5"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"47060a268d21265e20045dae21065add","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"47060a268d21265e20045dae21065add"} device-1 | {"data":{"peerconnection":"c7944107-2b91-4827-9bf0-03da0ef5c9f5","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"c7944107-2b91-4827-9bf0-03da0ef5c9f5","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/c7944107-2b91-4827-9bf0-03da0ef5c9f5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c7944107-2b91-4827-9bf0-03da0ef5c9f5","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f2a9143347845fcf4543deadf7a906b5","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/90cbed72-688f-4774-bd5e-aa451f49d710"},{"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/88b5595c-0516-4a16-8eec-df51788677d7"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/c7944107-2b91-4827-9bf0-03da0ef5c9f5"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:23Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc7944107-2b91-4827-9bf0-03da0ef5c9f5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ea31596e-1cb7-4802-b647-b54c48660ff7","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401743.606758} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.112131,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c7944107-2b91-4827-9bf0-03da0ef5c9f5","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/c7944107-2b91-4827-9bf0-03da0ef5c9f5","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b0ccff00-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/c7944107-2b91-4827-9bf0-03da0ef5c9f5 200 13ms","method":"GET","requestID":"b0ccff00-0636-11ef-8c83-05b823ec2e4f","responseTime":13,"status":200,"url":"/peerconnections/c7944107-2b91-4827-9bf0-03da0ef5c9f5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 37ms","method":"POST","requestID":"f2a9143347845fcf4543deadf7a906b5","responseTime":37,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch","requestID":"f2a9143347845fcf4543deadf7a906b5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:23Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90cbed72-688f-4774-bd5e-aa451f49d710","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5d4d95ad-13bd-497a-98f6-9fd1e62fd7fd","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401743.638249} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.341667,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/90cbed72-688f-4774-bd5e-aa451f49d710","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/90cbed72-688f-4774-bd5e-aa451f49d710","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b0d1e100-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/90cbed72-688f-4774-bd5e-aa451f49d710/signaling 200 13ms","method":"POST","requestID":"b0d1e100-0636-11ef-8c83-05b823ec2e4f","responseTime":13,"status":200,"url":"/devices/90cbed72-688f-4774-bd5e-aa451f49d710/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:23Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88b5595c-0516-4a16-8eec-df51788677d7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6c28bb8e-db9e-44fa-8d38-53029b297413","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401743.65271} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.184085,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/88b5595c-0516-4a16-8eec-df51788677d7","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/88b5595c-0516-4a16-8eec-df51788677d7","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b0d42af0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/88b5595c-0516-4a16-8eec-df51788677d7/signaling 200 12ms","method":"POST","requestID":"b0d42af0-0636-11ef-8c83-05b823ec2e4f","responseTime":12,"status":200,"url":"/devices/88b5595c-0516-4a16-8eec-df51788677d7/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0M30.MSxjqTrVzkUkxbTA2G_i9Tzw0Fd4zrP7MWKPD-x1alI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9096594a9f797e4d3bb4a9000f49f460","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/dfac399e-b9f1-443a-8016-e6c9abed7aed"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:23Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.40456,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/dfac399e-b9f1-443a-8016-e6c9abed7aed","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/dfac399e-b9f1-443a-8016-e6c9abed7aed","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401743,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0M30.MSxjqTrVzkUkxbTA2G_i9Tzw0Fd4zrP7MWKPD-x1alI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9096594a9f797e4d3bb4a9000f49f460"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/dfac399e-b9f1-443a-8016-e6c9abed7aed"} gateway-1 | {"time_local":"29/Apr/2024:14:42:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/dfac399e-b9f1-443a-8016-e6c9abed7aed HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9096594a9f797e4d3bb4a9000f49f460"} experiment-1 | {"level":"info","message":"GET /experiments/dfac399e-b9f1-443a-8016-e6c9abed7aed 200 16ms","method":"GET","requestID":"9096594a9f797e4d3bb4a9000f49f460","responseTime":16,"status":200,"url":"/experiments/dfac399e-b9f1-443a-8016-e6c9abed7aed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0M30.MSxjqTrVzkUkxbTA2G_i9Tzw0Fd4zrP7MWKPD-x1alI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2ec58e6b7a61df71a77c813c532a288c","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/dfac399e-b9f1-443a-8016-e6c9abed7aed"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:23Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.898468,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:23Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/dfac399e-b9f1-443a-8016-e6c9abed7aed","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/dfac399e-b9f1-443a-8016-e6c9abed7aed","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401743,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0M30.MSxjqTrVzkUkxbTA2G_i9Tzw0Fd4zrP7MWKPD-x1alI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2ec58e6b7a61df71a77c813c532a288c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfac399e-b9f1-443a-8016-e6c9abed7aed"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:23Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.670761,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:23Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c7944107-2b91-4827-9bf0-03da0ef5c9f5","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:http://localhost/peerconnections/c7944107-2b91-4827-9bf0-03da0ef5c9f5","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401743,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0M30.MSxjqTrVzkUkxbTA2G_i9Tzw0Fd4zrP7MWKPD-x1alI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b0e038e0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/c7944107-2b91-4827-9bf0-03da0ef5c9f5' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/c7944107-2b91-4827-9bf0-03da0ef5c9f5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c7944107-2b91-4827-9bf0-03da0ef5c9f5","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc7944107-2b91-4827-9bf0-03da0ef5c9f5': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc7944107-2b91-4827-9bf0-03da0ef5c9f5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"4b24fe0d-cbcc-4f0a-85a2-fbbae14423a9","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401743.7476516} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7283baae-f6c7-418e-98b3-770bd236ca49","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401743.74814} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"64c5ed4809342a4e1ede0bf912209d10","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b0e038e0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} 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/90cbed72-688f-4774-bd5e-aa451f49d710"},{"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/88b5595c-0516-4a16-8eec-df51788677d7"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c7944107-2b91-4827-9bf0-03da0ef5c9f5"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"03eb1cdc53eb7aca90c503bb5c5ee817","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/90cbed72-688f-4774-bd5e-aa451f49d710"},{"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/88b5595c-0516-4a16-8eec-df51788677d7"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c7944107-2b91-4827-9bf0-03da0ef5c9f5"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/c7944107-2b91-4827-9bf0-03da0ef5c9f5 204 45ms","method":"DELETE","requestID":"b0e038e0-0636-11ef-8c83-05b823ec2e4f","responseTime":45,"status":204,"url":"/peerconnections/c7944107-2b91-4827-9bf0-03da0ef5c9f5"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/88b5595c-0516-4a16-8eec-df51788677d7'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfac399e-b9f1-443a-8016-e6c9abed7aed"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:23Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90cbed72-688f-4774-bd5e-aa451f49d710","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fb3797fe-1361-49cd-be45-eba75113d658","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401743.7983165} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.488616,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/90cbed72-688f-4774-bd5e-aa451f49d710","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/90cbed72-688f-4774-bd5e-aa451f49d710","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b0ea4b00-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/90cbed72-688f-4774-bd5e-aa451f49d710/signaling 200 14ms","method":"POST","requestID":"b0ea4b00-0636-11ef-8c83-05b823ec2e4f","responseTime":14,"status":200,"url":"/devices/90cbed72-688f-4774-bd5e-aa451f49d710/signaling"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdfac399e-b9f1-443a-8016-e6c9abed7aed': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdfac399e-b9f1-443a-8016-e6c9abed7aed","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"b4c6ee40-0404-4113-81d4-4a846ef84162","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401743.8082051} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"58c98ca8-8b9b-4ccb-9056-64cf8b39b54b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401743.8085434} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2ec58e6b7a61df71a77c813c532a288c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:23Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88b5595c-0516-4a16-8eec-df51788677d7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bb45d75f-b32c-4ab9-83c3-a120450ec92f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401743.8167665} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.760664,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/88b5595c-0516-4a16-8eec-df51788677d7","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/88b5595c-0516-4a16-8eec-df51788677d7","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b0ecbc00-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/88b5595c-0516-4a16-8eec-df51788677d7/signaling 200 15ms","method":"POST","requestID":"b0ecbc00-0636-11ef-8c83-05b823ec2e4f","responseTime":15,"status":200,"url":"/devices/88b5595c-0516-4a16-8eec-df51788677d7/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/dfac399e-b9f1-443a-8016-e6c9abed7aed"} gateway-1 | {"time_local":"29/Apr/2024:14:42:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/dfac399e-b9f1-443a-8016-e6c9abed7aed HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.168","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2ec58e6b7a61df71a77c813c532a288c"} experiment-1 | {"level":"info","message":"DELETE /experiments/dfac399e-b9f1-443a-8016-e6c9abed7aed 204 165ms","method":"DELETE","requestID":"2ec58e6b7a61df71a77c813c532a288c","responseTime":165,"status":204,"url":"/experiments/dfac399e-b9f1-443a-8016-e6c9abed7aed"} gateway-1 | {"time_local":"29/Apr/2024:14:42:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2399","request_time":"3.227","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"00824ad37572f52d33ab66e5586e1309"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 127ms","method":"POST","requestID":"64c5ed4809342a4e1ede0bf912209d10","responseTime":127,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.132","http_referrer":"","http_user_agent":"node-fetch","requestID":"64c5ed4809342a4e1ede0bf912209d10"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 126ms","method":"POST","requestID":"03eb1cdc53eb7aca90c503bb5c5ee817","responseTime":126,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.132","http_referrer":"","http_user_agent":"node-fetch","requestID":"03eb1cdc53eb7aca90c503bb5c5ee817"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0M30.MSxjqTrVzkUkxbTA2G_i9Tzw0Fd4zrP7MWKPD-x1alI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"940dac6c29de3420335b2737f9d71215","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"29/Apr/2024:14:42:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2156","request_time":"1.744","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7b2e0679e7479db7a132dfb1bfd95577"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:23Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.106871,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:23Z"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/90cbed72-688f-4774-bd5e-aa451f49d710' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401743,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0M30.MSxjqTrVzkUkxbTA2G_i9Tzw0Fd4zrP7MWKPD-x1alI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"940dac6c29de3420335b2737f9d71215"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/88b5595c-0516-4a16-8eec-df51788677d7' 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:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a1cc0a1d-5a68-43d1-a7fe-5a792fd882e7","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401743.9040782} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"940dac6c29de3420335b2737f9d71215"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2a40ffa2-f9ab-4bce-80fe-5d6f24c31b73","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401743.9093363} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"940dac6c29de3420335b2737f9d71215"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"e20f6171-ce06-49c2-b048-0e3ec545a197","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401743.919231} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0755ad8d-46ce-401e-8064-8f63ab948d60","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401743.919486} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"940dac6c29de3420335b2737f9d71215"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:23.919202742Z"}]},"request_id":"ae9842b1-16f2-470c-b24c-4547d85e28f6","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401743.923874} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"940dac6c29de3420335b2737f9d71215"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"940dac6c29de3420335b2737f9d71215","responseTime":42,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2024:14:42:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"940dac6c29de3420335b2737f9d71215"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0M30.MSxjqTrVzkUkxbTA2G_i9Tzw0Fd4zrP7MWKPD-x1alI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a5e258dab021403f02fc9385b614b764","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:23Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.819106,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401743,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0M30.MSxjqTrVzkUkxbTA2G_i9Tzw0Fd4zrP7MWKPD-x1alI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a5e258dab021403f02fc9385b614b764"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a253a1e-313a-42df-8845-c36b1d0d7421","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4f10cdd3-7872-489c-87a1-3ae9324bb03a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401743.9487362} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a5e258dab021403f02fc9385b614b764"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"22ff2422-9f8b-422c-9f3b-4567da893042","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401743.9536288} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a5e258dab021403f02fc9385b614b764"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a253a1e-313a-42df-8845-c36b1d0d7421","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"3bfbdb14-b84d-48a8-93b7-9ee6cc124c80","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401743.9650114} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3a8f1d98-b5d8-41e8-929f-fdbd3939e360","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401743.9651556} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a5e258dab021403f02fc9385b614b764"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a253a1e-313a-42df-8845-c36b1d0d7421","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a253a1e-313a-42df-8845-c36b1d0d7421","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:23.964987920Z"}]},"request_id":"8da994f0-92e7-49d0-831c-80165abbe869","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401743.9698002} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a5e258dab021403f02fc9385b614b764"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a5e258dab021403f02fc9385b614b764"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"a5e258dab021403f02fc9385b614b764","responseTime":40,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0NH0.EyJZzz0DP7T3LyjmP9Krc5NQvR6r6hbR88WYFNbXyqU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e9d5f4527d9f8d6b60f39c046fec2d3e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:24Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.927656,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:24Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401744,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0NH0.EyJZzz0DP7T3LyjmP9Krc5NQvR6r6hbR88WYFNbXyqU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e9d5f4527d9f8d6b60f39c046fec2d3e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:23.919202742Z"}]},"request_id":"56e5b4e0-6c65-46dc-b842-4341a6d449a6","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401744.4798095} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e9d5f4527d9f8d6b60f39c046fec2d3e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4a180a76-d2b7-462a-9eb1-b31dbb814ea3","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401744.4856997} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e9d5f4527d9f8d6b60f39c046fec2d3e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:23.919202742Z"}]},"request_id":"8c46cfce-aadd-495d-bf51-55b16e02e6ae","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401744.5155635} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e9d5f4527d9f8d6b60f39c046fec2d3e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2 200 52ms","method":"PATCH","requestID":"e9d5f4527d9f8d6b60f39c046fec2d3e","responseTime":52,"status":200,"url":"/devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2"} gateway-1 | {"time_local":"29/Apr/2024:14:42:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.058","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"e9d5f4527d9f8d6b60f39c046fec2d3e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0NH0.EyJZzz0DP7T3LyjmP9Krc5NQvR6r6hbR88WYFNbXyqU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"088ea3de823433cfecc6ea495235dbc2","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:24Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.605006,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:24Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401744,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0NH0.EyJZzz0DP7T3LyjmP9Krc5NQvR6r6hbR88WYFNbXyqU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"088ea3de823433cfecc6ea495235dbc2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2/websocket 200 23ms","method":"POST","requestID":"088ea3de823433cfecc6ea495235dbc2","responseTime":23,"status":200,"url":"/devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2/websocket"} gateway-1 | {"time_local":"29/Apr/2024:14:42:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"088ea3de823433cfecc6ea495235dbc2"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2' connected"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"c2d22000979de65baa63bdc11af41784","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2024:14:42:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/0a253a1e-313a-42df-8845-c36b1d0d7421/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":"c2d22000979de65baa63bdc11af41784"} device-1 | {"level":"info","message":"OPTIONS /devices/0a253a1e-313a-42df-8845-c36b1d0d7421/websocket 200 1ms","method":"OPTIONS","requestID":"c2d22000979de65baa63bdc11af41784","responseTime":1,"status":200,"url":"/devices/0a253a1e-313a-42df-8845-c36b1d0d7421/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0NX0.5fC-yP9aMueMCeWYTxVON61NnRGVaOO-W2R1UjUnrMk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"fa96c8fb8a0148d63b0b3a319c199f2b","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:25Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.229737,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:25Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a253a1e-313a-42df-8845-c36b1d0d7421","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/0a253a1e-313a-42df-8845-c36b1d0d7421","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401745,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0NX0.5fC-yP9aMueMCeWYTxVON61NnRGVaOO-W2R1UjUnrMk"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fa96c8fb8a0148d63b0b3a319c199f2b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/0a253a1e-313a-42df-8845-c36b1d0d7421/websocket 200 41ms","method":"POST","requestID":"fa96c8fb8a0148d63b0b3a319c199f2b","responseTime":41,"status":200,"url":"/devices/0a253a1e-313a-42df-8845-c36b1d0d7421/websocket"} gateway-1 | {"time_local":"29/Apr/2024:14:42:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0a253a1e-313a-42df-8845-c36b1d0d7421/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":"fa96c8fb8a0148d63b0b3a319c199f2b"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0a253a1e-313a-42df-8845-c36b1d0d7421' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0Nn0.C2Lyw7hlwZXrV8PQiTo3p3RwLzpNpPfK_v2CwaB35Fw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e3bc95fef42992ee5538b0d9ecc8dcd8","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.259705,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401746,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0Nn0.C2Lyw7hlwZXrV8PQiTo3p3RwLzpNpPfK_v2CwaB35Fw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e3bc95fef42992ee5538b0d9ecc8dcd8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:23.919202742Z"}]},"request_id":"ec5bfcdc-c13c-4b35-80c9-94c45cf35c02","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401746.0147846} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e3bc95fef42992ee5538b0d9ecc8dcd8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2? 200 18ms","method":"GET","requestID":"e3bc95fef42992ee5538b0d9ecc8dcd8","responseTime":18,"status":200,"url":"/devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2?"} gateway-1 | {"time_local":"29/Apr/2024:14:42:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e3bc95fef42992ee5538b0d9ecc8dcd8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0Nn0.C2Lyw7hlwZXrV8PQiTo3p3RwLzpNpPfK_v2CwaB35Fw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"5bb3c2974ab442fae7ea49738e86db88","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.682855,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a253a1e-313a-42df-8845-c36b1d0d7421","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/0a253a1e-313a-42df-8845-c36b1d0d7421","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401746,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0Nn0.C2Lyw7hlwZXrV8PQiTo3p3RwLzpNpPfK_v2CwaB35Fw"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5bb3c2974ab442fae7ea49738e86db88"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a253a1e-313a-42df-8845-c36b1d0d7421","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a253a1e-313a-42df-8845-c36b1d0d7421","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:23.964987920Z"}]},"request_id":"2ae2236c-4f31-4224-b8fb-e1971abf300f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401746.0430624} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5bb3c2974ab442fae7ea49738e86db88"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0a253a1e-313a-42df-8845-c36b1d0d7421? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5bb3c2974ab442fae7ea49738e86db88"} device-1 | {"level":"info","message":"GET /devices/0a253a1e-313a-42df-8845-c36b1d0d7421? 200 23ms","method":"GET","requestID":"5bb3c2974ab442fae7ea49738e86db88","responseTime":23,"status":200,"url":"/devices/0a253a1e-313a-42df-8845-c36b1d0d7421?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0Nn0.C2Lyw7hlwZXrV8PQiTo3p3RwLzpNpPfK_v2CwaB35Fw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3248a7a3959b15135c130964e2556521","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.187961,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401746,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0Nn0.C2Lyw7hlwZXrV8PQiTo3p3RwLzpNpPfK_v2CwaB35Fw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3248a7a3959b15135c130964e2556521"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0523be94-6ced-44c3-aa15-3da0c429b1f4"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0523be94-6ced-44c3-aa15-3da0c429b1f4"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0523be94-6ced-44c3-aa15-3da0c429b1f4"},"level":"info","message":"Successfully booked experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.243485,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401746,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0Nn0.C2Lyw7hlwZXrV8PQiTo3p3RwLzpNpPfK_v2CwaB35Fw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b24c24f0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.147718,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a253a1e-313a-42df-8845-c36b1d0d7421","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/0a253a1e-313a-42df-8845-c36b1d0d7421","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401746,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0Nn0.C2Lyw7hlwZXrV8PQiTo3p3RwLzpNpPfK_v2CwaB35Fw"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b24c7310-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:23.919202742Z"}]},"request_id":"5272f74b-e5e1-45fa-be22-3dc90dbc30ed","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401746.1245475} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b24c24f0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a253a1e-313a-42df-8845-c36b1d0d7421","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a253a1e-313a-42df-8845-c36b1d0d7421","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:23.964987920Z"}]},"request_id":"271dacb9-22bc-490d-87ba-0747896300dc","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401746.126099} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b24c7310-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2? 200 23ms","method":"GET","requestID":"b24c24f0-0636-11ef-8c83-05b823ec2e4f","responseTime":23,"status":200,"url":"/devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/0a253a1e-313a-42df-8845-c36b1d0d7421? 200 22ms","method":"GET","requestID":"b24c7310-0636-11ef-8c83-05b823ec2e4f","responseTime":22,"status":200,"url":"/devices/0a253a1e-313a-42df-8845-c36b1d0d7421?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0523be94-6ced-44c3-aa15-3da0c429b1f4"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0523be94-6ced-44c3-aa15-3da0c429b1f4"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0523be94-6ced-44c3-aa15-3da0c429b1f4"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0523be94-6ced-44c3-aa15-3da0c429b1f4"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0523be94-6ced-44c3-aa15-3da0c429b1f4"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0523be94-6ced-44c3-aa15-3da0c429b1f4"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0523be94-6ced-44c3-aa15-3da0c429b1f4"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0523be94-6ced-44c3-aa15-3da0c429b1f4"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:26Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0523be94-6ced-44c3-aa15-3da0c429b1f4"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.425107,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401746,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0Nn0.C2Lyw7hlwZXrV8PQiTo3p3RwLzpNpPfK_v2CwaB35Fw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b2588100-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.197761,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a253a1e-313a-42df-8845-c36b1d0d7421","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/0a253a1e-313a-42df-8845-c36b1d0d7421","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401746,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0Nn0.C2Lyw7hlwZXrV8PQiTo3p3RwLzpNpPfK_v2CwaB35Fw"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b258cf20-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f01c5514-2252-42c6-9887-746ff427f258","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401746.2064707} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.124497,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42: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:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:23.919202742Z"}]},"request_id":"f37b90e6-3be7-4def-8076-a1b8a6e077a3","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401746.2103603} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b2591d40-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b2588100-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a253a1e-313a-42df-8845-c36b1d0d7421","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a253a1e-313a-42df-8845-c36b1d0d7421","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:23.964987920Z"}]},"request_id":"acf7f8e1-6f5e-4515-9639-16fd95e702c3","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401746.2123754} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b258cf20-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0523be94-6ced-44c3-aa15-3da0c429b1f4#owner@http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0523be94-6ced-44c3-aa15-3da0c429b1f4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"ccf0ecd1-85a8-4006-ae53-e63778659f01","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401746.2209454} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2e4e2de3-f680-4da1-b63e-73b0f843f776","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401746.2213001} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2/signaling 200 27ms","method":"POST","requestID":"b2591d40-0636-11ef-8c83-05b823ec2e4f","responseTime":27,"status":200,"url":"/devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3248a7a3959b15135c130964e2556521"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} device-1 | {"level":"info","message":"GET /devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2? 200 32ms","method":"GET","requestID":"b2588100-0636-11ef-8c83-05b823ec2e4f","responseTime":32,"status":200,"url":"/devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/0a253a1e-313a-42df-8845-c36b1d0d7421? 200 32ms","method":"GET","requestID":"b258cf20-0636-11ef-8c83-05b823ec2e4f","responseTime":32,"status":200,"url":"/devices/0a253a1e-313a-42df-8845-c36b1d0d7421?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a253a1e-313a-42df-8845-c36b1d0d7421","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4a3e826c-1f4b-427c-b78a-7dad0a7b7606","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401746.2336233} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.084669,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a253a1e-313a-42df-8845-c36b1d0d7421","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0a253a1e-313a-42df-8845-c36b1d0d7421","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b25db120-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/0523be94-6ced-44c3-aa15-3da0c429b1f4","user":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:26Z"} gateway-1 | {"time_local":"29/Apr/2024:14:42:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.186","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3248a7a3959b15135c130964e2556521"} experiment-1 | {"level":"info","message":"POST /experiments? 201 180ms","method":"POST","requestID":"3248a7a3959b15135c130964e2556521","responseTime":180,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/0a253a1e-313a-42df-8845-c36b1d0d7421/signaling 200 15ms","method":"POST","requestID":"b25db120-0636-11ef-8c83-05b823ec2e4f","responseTime":15,"status":200,"url":"/devices/0a253a1e-313a-42df-8845-c36b1d0d7421/signaling"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"380393ad-5976-4635-a16a-94c4cc904e3c","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401746.2417557} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.058514,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b25ee9a0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0Nn0.C2Lyw7hlwZXrV8PQiTo3p3RwLzpNpPfK_v2CwaB35Fw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"00bc8ec4950cba5dd510c3df7a5600ba","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2/signaling 200 17ms","method":"POST","requestID":"b25ee9a0-0636-11ef-8c83-05b823ec2e4f","responseTime":17,"status":200,"url":"/devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2/signaling"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.139099,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:26Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401746,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0Nn0.C2Lyw7hlwZXrV8PQiTo3p3RwLzpNpPfK_v2CwaB35Fw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"00bc8ec4950cba5dd510c3df7a5600ba"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42: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:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:23.919202742Z"}]},"request_id":"c7281254-dad4-478d-a1b3-852e3998cdc9","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401746.260003} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"00bc8ec4950cba5dd510c3df7a5600ba"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a253a1e-313a-42df-8845-c36b1d0d7421","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ae9a76f4-cefb-458c-9bd0-684936d22602","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401746.2604845} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.971088,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a253a1e-313a-42df-8845-c36b1d0d7421","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0a253a1e-313a-42df-8845-c36b1d0d7421","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b261cfd0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"00bc8ec4950cba5dd510c3df7a5600ba"} device-1 | {"level":"info","message":"GET /devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2? 200 19ms","method":"GET","requestID":"00bc8ec4950cba5dd510c3df7a5600ba","responseTime":19,"status":200,"url":"/devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/0a253a1e-313a-42df-8845-c36b1d0d7421/signaling 200 16ms","method":"POST","requestID":"b261cfd0-0636-11ef-8c83-05b823ec2e4f","responseTime":16,"status":200,"url":"/devices/0a253a1e-313a-42df-8845-c36b1d0d7421/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0523be94-6ced-44c3-aa15-3da0c429b1f4"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0523be94-6ced-44c3-aa15-3da0c429b1f4"},"level":"info","message":"Building connection plan"} 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":"4bcd28cf-8a33-4924-bce2-7ea825a1a2a2"},{"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":"03d73b3a-435a-4e37-828b-7565134d3acc"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"a2515d32-49e6-4837-ac01-8f8b25cd0857"}]},"level":"info","message":"Built pairwise service configurations"} 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/0a253a1e-313a-42df-8845-c36b1d0d7421"},{"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/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0Nn0.C2Lyw7hlwZXrV8PQiTo3p3RwLzpNpPfK_v2CwaB35Fw","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"50ade46999f55920a1fa2bb99bdefab5","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.429374,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401746,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0Nn0.C2Lyw7hlwZXrV8PQiTo3p3RwLzpNpPfK_v2CwaB35Fw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b264b600-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.003016,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a253a1e-313a-42df-8845-c36b1d0d7421","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/0a253a1e-313a-42df-8845-c36b1d0d7421","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401746,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0Nn0.C2Lyw7hlwZXrV8PQiTo3p3RwLzpNpPfK_v2CwaB35Fw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"50ade46999f55920a1fa2bb99bdefab5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a253a1e-313a-42df-8845-c36b1d0d7421","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a253a1e-313a-42df-8845-c36b1d0d7421","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:23.964987920Z"}]},"request_id":"eeec4ea3-ec58-4ab4-8a6c-2b0c995f9683","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401746.2860024} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"50ade46999f55920a1fa2bb99bdefab5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0a253a1e-313a-42df-8845-c36b1d0d7421? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"50ade46999f55920a1fa2bb99bdefab5"} device-1 | {"level":"info","message":"GET /devices/0a253a1e-313a-42df-8845-c36b1d0d7421? 200 21ms","method":"GET","requestID":"50ade46999f55920a1fa2bb99bdefab5","responseTime":21,"status":200,"url":"/devices/0a253a1e-313a-42df-8845-c36b1d0d7421?"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","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%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"9b271093-9477-486a-9abb-59ec9aea6bd2","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401746.295536} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"da346d67-26e7-4fca-b945-41633e0de8b4","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401746.2957125} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b264b600-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/bc2a39d5-cae3-491b-a8b8-a5a4c665c34f'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/bc2a39d5-cae3-491b-a8b8-a5a4c665c34f'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 50ms","method":"POST","requestID":"b264b600-0636-11ef-8c83-05b823ec2e4f","responseTime":50,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device-1 | {"data":{"peerconnection":"bc2a39d5-cae3-491b-a8b8-a5a4c665c34f","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0523be94-6ced-44c3-aa15-3da0c429b1f4"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0e851ac8-84ff-4e23-8f86-afb2561dd740","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401746.3626847} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.283394,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b271d560-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2/signaling 200 10ms","method":"POST","requestID":"b271d560-0636-11ef-8c83-05b823ec2e4f","responseTime":10,"status":200,"url":"/devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a253a1e-313a-42df-8845-c36b1d0d7421","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7e185acb-2916-4aa1-acbf-cfddb547a32e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401746.374577} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.557481,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a253a1e-313a-42df-8845-c36b1d0d7421","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0a253a1e-313a-42df-8845-c36b1d0d7421","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b2738310-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/0a253a1e-313a-42df-8845-c36b1d0d7421/signaling 200 9ms","method":"POST","requestID":"b2738310-0636-11ef-8c83-05b823ec2e4f","responseTime":9,"status":200,"url":"/devices/0a253a1e-313a-42df-8845-c36b1d0d7421/signaling"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/bc2a39d5-cae3-491b-a8b8-a5a4c665c34f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bc2a39d5-cae3-491b-a8b8-a5a4c665c34f","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"72d411dd71a045d132186b52bb60ac12","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/0a253a1e-313a-42df-8845-c36b1d0d7421"},{"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/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/bc2a39d5-cae3-491b-a8b8-a5a4c665c34f"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"72d411dd71a045d132186b52bb60ac12","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"72d411dd71a045d132186b52bb60ac12"} device-1 | {"data":{"peerconnection":"bc2a39d5-cae3-491b-a8b8-a5a4c665c34f","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"bc2a39d5-cae3-491b-a8b8-a5a4c665c34f","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/bc2a39d5-cae3-491b-a8b8-a5a4c665c34f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bc2a39d5-cae3-491b-a8b8-a5a4c665c34f","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"649d220a6b1a41073f63f86e366ee885","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/0a253a1e-313a-42df-8845-c36b1d0d7421"},{"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/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/bc2a39d5-cae3-491b-a8b8-a5a4c665c34f"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbc2a39d5-cae3-491b-a8b8-a5a4c665c34f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2db2dbb4-a831-40a9-847a-0171a6525b04","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401746.465316} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.252519,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/bc2a39d5-cae3-491b-a8b8-a5a4c665c34f","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/bc2a39d5-cae3-491b-a8b8-a5a4c665c34f","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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b2818cd0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/bc2a39d5-cae3-491b-a8b8-a5a4c665c34f 200 8ms","method":"GET","requestID":"b2818cd0-0636-11ef-8c83-05b823ec2e4f","responseTime":8,"status":200,"url":"/peerconnections/bc2a39d5-cae3-491b-a8b8-a5a4c665c34f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 34ms","method":"POST","requestID":"649d220a6b1a41073f63f86e366ee885","responseTime":34,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.037","http_referrer":"","http_user_agent":"node-fetch","requestID":"649d220a6b1a41073f63f86e366ee885"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a253a1e-313a-42df-8845-c36b1d0d7421","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8d4b0903-d7b9-4e46-9e43-2998fb8c8aed","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401746.4951472} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.744851,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a253a1e-313a-42df-8845-c36b1d0d7421","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0a253a1e-313a-42df-8845-c36b1d0d7421","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b285f9a0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/0a253a1e-313a-42df-8845-c36b1d0d7421/signaling 200 11ms","method":"POST","requestID":"b285f9a0-0636-11ef-8c83-05b823ec2e4f","responseTime":11,"status":200,"url":"/devices/0a253a1e-313a-42df-8845-c36b1d0d7421/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a68fc84c-40ff-4fd4-992f-d43238976f0d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401746.5102417} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.198816,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b2881c80-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2/signaling 200 12ms","method":"POST","requestID":"b2881c80-0636-11ef-8c83-05b823ec2e4f","responseTime":12,"status":200,"url":"/devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0Nn0.C2Lyw7hlwZXrV8PQiTo3p3RwLzpNpPfK_v2CwaB35Fw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b8cfdb4867b74abc607422f50bd48114","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/0523be94-6ced-44c3-aa15-3da0c429b1f4"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.896038,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0523be94-6ced-44c3-aa15-3da0c429b1f4","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/0523be94-6ced-44c3-aa15-3da0c429b1f4","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401746,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0Nn0.C2Lyw7hlwZXrV8PQiTo3p3RwLzpNpPfK_v2CwaB35Fw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b8cfdb4867b74abc607422f50bd48114"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/0523be94-6ced-44c3-aa15-3da0c429b1f4"} experiment-1 | {"level":"info","message":"GET /experiments/0523be94-6ced-44c3-aa15-3da0c429b1f4 200 14ms","method":"GET","requestID":"b8cfdb4867b74abc607422f50bd48114","responseTime":14,"status":200,"url":"/experiments/0523be94-6ced-44c3-aa15-3da0c429b1f4"} gateway-1 | {"time_local":"29/Apr/2024:14:42:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/0523be94-6ced-44c3-aa15-3da0c429b1f4 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b8cfdb4867b74abc607422f50bd48114"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0Nn0.C2Lyw7hlwZXrV8PQiTo3p3RwLzpNpPfK_v2CwaB35Fw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"84a9ef6545ced6fd18688d1e0d5dfa57","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/0523be94-6ced-44c3-aa15-3da0c429b1f4"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.270035,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0523be94-6ced-44c3-aa15-3da0c429b1f4","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/0523be94-6ced-44c3-aa15-3da0c429b1f4","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401746,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0Nn0.C2Lyw7hlwZXrV8PQiTo3p3RwLzpNpPfK_v2CwaB35Fw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"84a9ef6545ced6fd18688d1e0d5dfa57"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0523be94-6ced-44c3-aa15-3da0c429b1f4"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.09422,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/bc2a39d5-cae3-491b-a8b8-a5a4c665c34f","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:http://localhost/peerconnections/bc2a39d5-cae3-491b-a8b8-a5a4c665c34f","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401746,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0Nn0.C2Lyw7hlwZXrV8PQiTo3p3RwLzpNpPfK_v2CwaB35Fw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b29514d0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/bc2a39d5-cae3-491b-a8b8-a5a4c665c34f' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/bc2a39d5-cae3-491b-a8b8-a5a4c665c34f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bc2a39d5-cae3-491b-a8b8-a5a4c665c34f","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"64e8d700066edbfa75db0adc5f5c8b3d","responseTime":3,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"6b4ca3e8a2ff7fe00fd033c1683310fa","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0a253a1e-313a-42df-8845-c36b1d0d7421"},{"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/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/bc2a39d5-cae3-491b-a8b8-a5a4c665c34f"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbc2a39d5-cae3-491b-a8b8-a5a4c665c34f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbc2a39d5-cae3-491b-a8b8-a5a4c665c34f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"3771e474-6934-4766-a50b-f63858bb72d2","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401746.6099083} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cbecf530-bc6c-4b86-8e87-0340d0359fcc","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401746.6125417} 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/0a253a1e-313a-42df-8845-c36b1d0d7421"},{"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/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/bc2a39d5-cae3-491b-a8b8-a5a4c665c34f"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b29514d0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} device-1 | {"data":{"peerconnection":"bc2a39d5-cae3-491b-a8b8-a5a4c665c34f","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/bc2a39d5-cae3-491b-a8b8-a5a4c665c34f 204 65ms","method":"DELETE","requestID":"b29514d0-0636-11ef-8c83-05b823ec2e4f","responseTime":65,"status":204,"url":"/peerconnections/bc2a39d5-cae3-491b-a8b8-a5a4c665c34f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0523be94-6ced-44c3-aa15-3da0c429b1f4"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a253a1e-313a-42df-8845-c36b1d0d7421","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9d4db279-b332-4c88-8517-7c39240c6e8f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401746.6869907} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.338048,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a253a1e-313a-42df-8845-c36b1d0d7421","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0a253a1e-313a-42df-8845-c36b1d0d7421","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b2a2a960-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/0a253a1e-313a-42df-8845-c36b1d0d7421/signaling 200 18ms","method":"POST","requestID":"b2a2a960-0636-11ef-8c83-05b823ec2e4f","responseTime":18,"status":200,"url":"/devices/0a253a1e-313a-42df-8845-c36b1d0d7421/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0523be94-6ced-44c3-aa15-3da0c429b1f4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0523be94-6ced-44c3-aa15-3da0c429b1f4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"fb376bf0-d0aa-48a6-8464-0d82906dea6b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401746.7046247} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b9d23afb-9402-4a3a-b0fc-898aea3a074a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401746.7050593} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"84a9ef6545ced6fd18688d1e0d5dfa57"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":30}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e4bd3d73-257c-4cba-aaae-2aba488e3f90","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401746.7099671} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.492,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b2a5ddb0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2/signaling 200 19ms","method":"POST","requestID":"b2a5ddb0-0636-11ef-8c83-05b823ec2e4f","responseTime":19,"status":200,"url":"/devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/0523be94-6ced-44c3-aa15-3da0c429b1f4"} gateway-1 | {"time_local":"29/Apr/2024:14:42:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/0523be94-6ced-44c3-aa15-3da0c429b1f4 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.199","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"84a9ef6545ced6fd18688d1e0d5dfa57"} gateway-1 | {"time_local":"29/Apr/2024:14:42:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2214","request_time":"2.221","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"c528cbb3a22d93b82c8fcf2c78ea0654"} experiment-1 | {"level":"info","message":"DELETE /experiments/0523be94-6ced-44c3-aa15-3da0c429b1f4 204 195ms","method":"DELETE","requestID":"84a9ef6545ced6fd18688d1e0d5dfa57","responseTime":195,"status":204,"url":"/experiments/0523be94-6ced-44c3-aa15-3da0c429b1f4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 161ms","method":"POST","requestID":"64e8d700066edbfa75db0adc5f5c8b3d","responseTime":161,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.166","http_referrer":"","http_user_agent":"node-fetch","requestID":"64e8d700066edbfa75db0adc5f5c8b3d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 160ms","method":"POST","requestID":"6b4ca3e8a2ff7fe00fd033c1683310fa","responseTime":160,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.166","http_referrer":"","http_user_agent":"node-fetch","requestID":"6b4ca3e8a2ff7fe00fd033c1683310fa"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0Nn0.C2Lyw7hlwZXrV8PQiTo3p3RwLzpNpPfK_v2CwaB35Fw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4a810a4e20eb63aaccf1389133886b71","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.123099,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:26Z"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e4db3cd9-1d2d-4a3f-8717-f11ba851f1d2' closed"} gateway-1 | {"time_local":"29/Apr/2024:14:42:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2161","request_time":"0.805","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e030acda46e298be18ebfb92e537880c"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401746,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0Nn0.C2Lyw7hlwZXrV8PQiTo3p3RwLzpNpPfK_v2CwaB35Fw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4a810a4e20eb63aaccf1389133886b71"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/0a253a1e-313a-42df-8845-c36b1d0d7421' 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:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F315cbda1-8445-4fd2-a6a6-889b471d8c14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"65f5cb46-1e16-4372-ac40-df648761a0bc","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401746.8006854} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4a810a4e20eb63aaccf1389133886b71"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"92f7d864-42b2-4e4f-baa4-5d9d2a59431a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401746.8080645} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4a810a4e20eb63aaccf1389133886b71"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F315cbda1-8445-4fd2-a6a6-889b471d8c14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"422e91d6-326f-4366-9792-8f99761947ae","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401746.8190362} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"76a3a944-e1f0-471f-9735-e24dd6dfdda4","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401746.8194113} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4a810a4e20eb63aaccf1389133886b71"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F315cbda1-8445-4fd2-a6a6-889b471d8c14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F315cbda1-8445-4fd2-a6a6-889b471d8c14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:26.819004046Z"}]},"request_id":"de0fb1ea-cab7-4e6d-a1c9-add3b198be2b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401746.8245542} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4a810a4e20eb63aaccf1389133886b71"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 50ms","method":"POST","requestID":"4a810a4e20eb63aaccf1389133886b71","responseTime":50,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4a810a4e20eb63aaccf1389133886b71"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0Nn0.C2Lyw7hlwZXrV8PQiTo3p3RwLzpNpPfK_v2CwaB35Fw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f4168dcb8e29adf4cdebe348e1e4cad3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.434553,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401746,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0Nn0.C2Lyw7hlwZXrV8PQiTo3p3RwLzpNpPfK_v2CwaB35Fw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f4168dcb8e29adf4cdebe348e1e4cad3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7001931a-c1df-4128-a0b5-5aa7bd14788a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"567761a8-8166-4fe5-9a46-41461f8370c9","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401746.8504522} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f4168dcb8e29adf4cdebe348e1e4cad3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cbc39662-b6bf-40dd-98bc-b3ed91d972a9","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401746.855617} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f4168dcb8e29adf4cdebe348e1e4cad3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7001931a-c1df-4128-a0b5-5aa7bd14788a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"b1b10337-49b2-43a6-a56b-ccf456baf274","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401746.8639414} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"01fd301e-d300-462e-a391-998665aeb4d9","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401746.8640146} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f4168dcb8e29adf4cdebe348e1e4cad3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7001931a-c1df-4128-a0b5-5aa7bd14788a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7001931a-c1df-4128-a0b5-5aa7bd14788a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:26.863907768Z"}]},"request_id":"18a905ec-16ce-4fe8-82b8-7c788df86c24","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401746.8688395} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f4168dcb8e29adf4cdebe348e1e4cad3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"f4168dcb8e29adf4cdebe348e1e4cad3","responseTime":39,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f4168dcb8e29adf4cdebe348e1e4cad3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0N30.iQUuNanF_C6h9M7gZF3SstDTBaQA1MTPLLw1FuTd3HM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3a4f48422da9946941f472217021bf80","responseTime":4,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0N30.iQUuNanF_C6h9M7gZF3SstDTBaQA1MTPLLw1FuTd3HM","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6d9bc4cc2f31f048c51f0bfdb9f68225","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.926597,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/315cbda1-8445-4fd2-a6a6-889b471d8c14","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/315cbda1-8445-4fd2-a6a6-889b471d8c14","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401747,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0N30.iQUuNanF_C6h9M7gZF3SstDTBaQA1MTPLLw1FuTd3HM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3a4f48422da9946941f472217021bf80"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.632021,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7001931a-c1df-4128-a0b5-5aa7bd14788a","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/7001931a-c1df-4128-a0b5-5aa7bd14788a","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401747,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0N30.iQUuNanF_C6h9M7gZF3SstDTBaQA1MTPLLw1FuTd3HM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6d9bc4cc2f31f048c51f0bfdb9f68225"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F315cbda1-8445-4fd2-a6a6-889b471d8c14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F315cbda1-8445-4fd2-a6a6-889b471d8c14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:26.819004046Z"}]},"request_id":"000dfa20-7514-45bf-b924-c0b171bc008d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401747.3642282} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3a4f48422da9946941f472217021bf80"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7001931a-c1df-4128-a0b5-5aa7bd14788a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7001931a-c1df-4128-a0b5-5aa7bd14788a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:26.863907768Z"}]},"request_id":"a7fbd70d-4fa8-4e90-b722-df530312d5f6","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401747.3647788} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6d9bc4cc2f31f048c51f0bfdb9f68225"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"192c4dd2-f3b0-4969-9c42-05e207341c5e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401747.3689334} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3a4f48422da9946941f472217021bf80"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a8cecc70-8070-46bd-a2f3-e63d44076499","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401747.3707862} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6d9bc4cc2f31f048c51f0bfdb9f68225"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7001931a-c1df-4128-a0b5-5aa7bd14788a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7001931a-c1df-4128-a0b5-5aa7bd14788a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:26.863907768Z"}]},"request_id":"55a1f108-9602-42ce-8dbf-2062b8cbf1ce","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401747.3736143} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6d9bc4cc2f31f048c51f0bfdb9f68225"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/7001931a-c1df-4128-a0b5-5aa7bd14788a HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.027","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"6d9bc4cc2f31f048c51f0bfdb9f68225"} device-1 | {"level":"info","message":"PATCH /devices/7001931a-c1df-4128-a0b5-5aa7bd14788a 200 20ms","method":"PATCH","requestID":"6d9bc4cc2f31f048c51f0bfdb9f68225","responseTime":20,"status":200,"url":"/devices/7001931a-c1df-4128-a0b5-5aa7bd14788a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0N30.iQUuNanF_C6h9M7gZF3SstDTBaQA1MTPLLw1FuTd3HM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"44d7bbf0a72cfc85e50f596c2fa38ec0","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.812584,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7001931a-c1df-4128-a0b5-5aa7bd14788a","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/7001931a-c1df-4128-a0b5-5aa7bd14788a","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401747,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0N30.iQUuNanF_C6h9M7gZF3SstDTBaQA1MTPLLw1FuTd3HM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"44d7bbf0a72cfc85e50f596c2fa38ec0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F315cbda1-8445-4fd2-a6a6-889b471d8c14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F315cbda1-8445-4fd2-a6a6-889b471d8c14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:26.819004046Z"}]},"request_id":"5ae8e1d3-7658-472e-aad9-6cb490a46755","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401747.3988528} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3a4f48422da9946941f472217021bf80"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/315cbda1-8445-4fd2-a6a6-889b471d8c14 200 47ms","method":"PATCH","requestID":"3a4f48422da9946941f472217021bf80","responseTime":47,"status":200,"url":"/devices/315cbda1-8445-4fd2-a6a6-889b471d8c14"} gateway-1 | {"time_local":"29/Apr/2024:14:42:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/315cbda1-8445-4fd2-a6a6-889b471d8c14 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.053","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"3a4f48422da9946941f472217021bf80"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0N30.iQUuNanF_C6h9M7gZF3SstDTBaQA1MTPLLw1FuTd3HM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ae5380d87a4e0f033c4a20b783e04634","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:27Z"} gateway-1 | {"time_local":"29/Apr/2024:14:42:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7001931a-c1df-4128-a0b5-5aa7bd14788a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.033","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"44d7bbf0a72cfc85e50f596c2fa38ec0"} device-1 | {"level":"info","message":"POST /devices/7001931a-c1df-4128-a0b5-5aa7bd14788a/websocket 200 29ms","method":"POST","requestID":"44d7bbf0a72cfc85e50f596c2fa38ec0","responseTime":29,"status":200,"url":"/devices/7001931a-c1df-4128-a0b5-5aa7bd14788a/websocket"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.807886,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/315cbda1-8445-4fd2-a6a6-889b471d8c14","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/315cbda1-8445-4fd2-a6a6-889b471d8c14","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401747,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0N30.iQUuNanF_C6h9M7gZF3SstDTBaQA1MTPLLw1FuTd3HM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae5380d87a4e0f033c4a20b783e04634"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"device 'http://localhost/devices/7001931a-c1df-4128-a0b5-5aa7bd14788a' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/315cbda1-8445-4fd2-a6a6-889b471d8c14/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.020","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"ae5380d87a4e0f033c4a20b783e04634"} device-1 | {"level":"info","message":"POST /devices/315cbda1-8445-4fd2-a6a6-889b471d8c14/websocket 200 16ms","method":"POST","requestID":"ae5380d87a4e0f033c4a20b783e04634","responseTime":16,"status":200,"url":"/devices/315cbda1-8445-4fd2-a6a6-889b471d8c14/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/315cbda1-8445-4fd2-a6a6-889b471d8c14' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0N30.iQUuNanF_C6h9M7gZF3SstDTBaQA1MTPLLw1FuTd3HM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"82116cf3f3c49ca089a177c22754bac9","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.683776,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/315cbda1-8445-4fd2-a6a6-889b471d8c14","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/315cbda1-8445-4fd2-a6a6-889b471d8c14","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401747,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0N30.iQUuNanF_C6h9M7gZF3SstDTBaQA1MTPLLw1FuTd3HM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"82116cf3f3c49ca089a177c22754bac9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F315cbda1-8445-4fd2-a6a6-889b471d8c14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F315cbda1-8445-4fd2-a6a6-889b471d8c14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:26.819004046Z"}]},"request_id":"02b2aec3-91b0-4c1f-81c4-35c2b000d9e8","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401747.4467912} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"82116cf3f3c49ca089a177c22754bac9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/315cbda1-8445-4fd2-a6a6-889b471d8c14? 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":"82116cf3f3c49ca089a177c22754bac9"} device-1 | {"level":"info","message":"GET /devices/315cbda1-8445-4fd2-a6a6-889b471d8c14? 200 11ms","method":"GET","requestID":"82116cf3f3c49ca089a177c22754bac9","responseTime":11,"status":200,"url":"/devices/315cbda1-8445-4fd2-a6a6-889b471d8c14?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0N30.iQUuNanF_C6h9M7gZF3SstDTBaQA1MTPLLw1FuTd3HM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e17e7bd79da4ab62d93a4ed1dc99375b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.730507,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7001931a-c1df-4128-a0b5-5aa7bd14788a","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/7001931a-c1df-4128-a0b5-5aa7bd14788a","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401747,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0N30.iQUuNanF_C6h9M7gZF3SstDTBaQA1MTPLLw1FuTd3HM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e17e7bd79da4ab62d93a4ed1dc99375b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7001931a-c1df-4128-a0b5-5aa7bd14788a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7001931a-c1df-4128-a0b5-5aa7bd14788a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:26.863907768Z"}]},"request_id":"e8ac0333-5270-4fe9-ac7f-7b6bae7f0846","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401747.462429} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e17e7bd79da4ab62d93a4ed1dc99375b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7001931a-c1df-4128-a0b5-5aa7bd14788a? 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":"e17e7bd79da4ab62d93a4ed1dc99375b"} device-1 | {"level":"info","message":"GET /devices/7001931a-c1df-4128-a0b5-5aa7bd14788a? 200 12ms","method":"GET","requestID":"e17e7bd79da4ab62d93a4ed1dc99375b","responseTime":12,"status":200,"url":"/devices/7001931a-c1df-4128-a0b5-5aa7bd14788a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0N30.iQUuNanF_C6h9M7gZF3SstDTBaQA1MTPLLw1FuTd3HM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7186db4474fc1d073160d04e85968901","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.62485,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401747,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0N30.iQUuNanF_C6h9M7gZF3SstDTBaQA1MTPLLw1FuTd3HM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7186db4474fc1d073160d04e85968901"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/373adac9-c045-47b3-a81e-cc3cbae68447"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/373adac9-c045-47b3-a81e-cc3cbae68447"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/373adac9-c045-47b3-a81e-cc3cbae68447"},"level":"info","message":"Successfully booked experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.112124,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/315cbda1-8445-4fd2-a6a6-889b471d8c14","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/315cbda1-8445-4fd2-a6a6-889b471d8c14","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401747,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0N30.iQUuNanF_C6h9M7gZF3SstDTBaQA1MTPLLw1FuTd3HM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3243570-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.731768,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7001931a-c1df-4128-a0b5-5aa7bd14788a","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/7001931a-c1df-4128-a0b5-5aa7bd14788a","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401747,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0N30.iQUuNanF_C6h9M7gZF3SstDTBaQA1MTPLLw1FuTd3HM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3248390-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F315cbda1-8445-4fd2-a6a6-889b471d8c14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F315cbda1-8445-4fd2-a6a6-889b471d8c14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:26.819004046Z"}]},"request_id":"d42875ba-e012-4a35-ad07-8c2db1e0ea88","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401747.5388446} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3243570-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7001931a-c1df-4128-a0b5-5aa7bd14788a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7001931a-c1df-4128-a0b5-5aa7bd14788a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:26.863907768Z"}]},"request_id":"d691037e-055d-4d13-b87e-648279ff13f9","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401747.5396307} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3248390-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/315cbda1-8445-4fd2-a6a6-889b471d8c14? 200 20ms","method":"GET","requestID":"b3243570-0636-11ef-8c83-05b823ec2e4f","responseTime":20,"status":200,"url":"/devices/315cbda1-8445-4fd2-a6a6-889b471d8c14?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/7001931a-c1df-4128-a0b5-5aa7bd14788a? 200 19ms","method":"GET","requestID":"b3248390-0636-11ef-8c83-05b823ec2e4f","responseTime":19,"status":200,"url":"/devices/7001931a-c1df-4128-a0b5-5aa7bd14788a?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/373adac9-c045-47b3-a81e-cc3cbae68447"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/373adac9-c045-47b3-a81e-cc3cbae68447"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/373adac9-c045-47b3-a81e-cc3cbae68447"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/373adac9-c045-47b3-a81e-cc3cbae68447"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/373adac9-c045-47b3-a81e-cc3cbae68447"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/373adac9-c045-47b3-a81e-cc3cbae68447"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/373adac9-c045-47b3-a81e-cc3cbae68447"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/373adac9-c045-47b3-a81e-cc3cbae68447"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:27Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/373adac9-c045-47b3-a81e-cc3cbae68447"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.124554,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.047753,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/315cbda1-8445-4fd2-a6a6-889b471d8c14","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/315cbda1-8445-4fd2-a6a6-889b471d8c14","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401747,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0N30.iQUuNanF_C6h9M7gZF3SstDTBaQA1MTPLLw1FuTd3HM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b32fa720-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7001931a-c1df-4128-a0b5-5aa7bd14788a","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/7001931a-c1df-4128-a0b5-5aa7bd14788a","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401747,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0N30.iQUuNanF_C6h9M7gZF3SstDTBaQA1MTPLLw1FuTd3HM"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b32ff540-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:40220","level":"info","msg":"Received request.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F315cbda1-8445-4fd2-a6a6-889b471d8c14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F315cbda1-8445-4fd2-a6a6-889b471d8c14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:26.819004046Z"}]},"request_id":"f969dac2-df11-4979-be4d-c58bd5cff99f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401747.6147017} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b32fa720-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7001931a-c1df-4128-a0b5-5aa7bd14788a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7001931a-c1df-4128-a0b5-5aa7bd14788a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:26.863907768Z"}]},"request_id":"c5ac7823-15f0-4856-b83c-dbe88fe5b11a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401747.6161807} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F315cbda1-8445-4fd2-a6a6-889b471d8c14","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6e224559-94d6-4c3b-a14f-722c7f02432b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401747.617022} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b32ff540-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:40220","level":"info","msg":"Sent response.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.50496,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/315cbda1-8445-4fd2-a6a6-889b471d8c14","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/315cbda1-8445-4fd2-a6a6-889b471d8c14","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"} authorization-1 | {"level":"info","message":"POST /authorize 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3301c50-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":15}} device-1 | {"level":"info","message":"GET /devices/315cbda1-8445-4fd2-a6a6-889b471d8c14? 200 20ms","method":"GET","requestID":"b32fa720-0636-11ef-8c83-05b823ec2e4f","responseTime":20,"status":200,"url":"/devices/315cbda1-8445-4fd2-a6a6-889b471d8c14?"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F373adac9-c045-47b3-a81e-cc3cbae68447#owner@http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F373adac9-c045-47b3-a81e-cc3cbae68447","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"5c635f55-7f5d-44f6-a73b-fb0b4cd151f6","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401747.6209745} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e4d9596e-12f2-4b61-b83c-7aa70528049d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401747.6213803} device-1 | {"level":"info","message":"GET /devices/7001931a-c1df-4128-a0b5-5aa7bd14788a? 200 19ms","method":"GET","requestID":"b32ff540-0636-11ef-8c83-05b823ec2e4f","responseTime":19,"status":200,"url":"/devices/7001931a-c1df-4128-a0b5-5aa7bd14788a?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7186db4474fc1d073160d04e85968901"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/315cbda1-8445-4fd2-a6a6-889b471d8c14/signaling 200 23ms","method":"POST","requestID":"b3301c50-0636-11ef-8c83-05b823ec2e4f","responseTime":23,"status":200,"url":"/devices/315cbda1-8445-4fd2-a6a6-889b471d8c14/signaling"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F315cbda1-8445-4fd2-a6a6-889b471d8c14","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f0f1ac94-be6a-4426-9962-620a7dc742e4","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401747.6313374} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.998665,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/315cbda1-8445-4fd2-a6a6-889b471d8c14","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/315cbda1-8445-4fd2-a6a6-889b471d8c14","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/373adac9-c045-47b3-a81e-cc3cbae68447","user":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3332990-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} gateway-1 | {"time_local":"29/Apr/2024:14:42:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.167","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7186db4474fc1d073160d04e85968901"} experiment-1 | {"level":"info","message":"POST /experiments? 201 162ms","method":"POST","requestID":"7186db4474fc1d073160d04e85968901","responseTime":162,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:27Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/315cbda1-8445-4fd2-a6a6-889b471d8c14/signaling 200 11ms","method":"POST","requestID":"b3332990-0636-11ef-8c83-05b823ec2e4f","responseTime":11,"status":200,"url":"/devices/315cbda1-8445-4fd2-a6a6-889b471d8c14/signaling"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7001931a-c1df-4128-a0b5-5aa7bd14788a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b88ec33e-3f63-4ade-aac2-fc6f803cae3c","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401747.637481} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.572903,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:27Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0N30.iQUuNanF_C6h9M7gZF3SstDTBaQA1MTPLLw1FuTd3HM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0acd1ceda731456eaaa9981d8f6f85e9","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7001931a-c1df-4128-a0b5-5aa7bd14788a","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7001931a-c1df-4128-a0b5-5aa7bd14788a","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"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b33413f0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:27Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7001931a-c1df-4128-a0b5-5aa7bd14788a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"024099e4-5f33-41bb-9eeb-b8a7db8d46f7","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401747.6434207} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.804903,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:27Z"} device-1 | {"level":"info","message":"POST /devices/7001931a-c1df-4128-a0b5-5aa7bd14788a/signaling 200 14ms","method":"POST","requestID":"b33413f0-0636-11ef-8c83-05b823ec2e4f","responseTime":14,"status":200,"url":"/devices/7001931a-c1df-4128-a0b5-5aa7bd14788a/signaling"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7001931a-c1df-4128-a0b5-5aa7bd14788a","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7001931a-c1df-4128-a0b5-5aa7bd14788a","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3354c70-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.860712,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/315cbda1-8445-4fd2-a6a6-889b471d8c14","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/315cbda1-8445-4fd2-a6a6-889b471d8c14","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401747,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0N30.iQUuNanF_C6h9M7gZF3SstDTBaQA1MTPLLw1FuTd3HM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0acd1ceda731456eaaa9981d8f6f85e9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/7001931a-c1df-4128-a0b5-5aa7bd14788a/signaling 200 11ms","method":"POST","requestID":"b3354c70-0636-11ef-8c83-05b823ec2e4f","responseTime":11,"status":200,"url":"/devices/7001931a-c1df-4128-a0b5-5aa7bd14788a/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:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F315cbda1-8445-4fd2-a6a6-889b471d8c14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F315cbda1-8445-4fd2-a6a6-889b471d8c14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:26.819004046Z"}]},"request_id":"09c868cc-90d9-4568-9088-3dfa2e0be85b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401747.6510053} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/373adac9-c045-47b3-a81e-cc3cbae68447"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/373adac9-c045-47b3-a81e-cc3cbae68447"},"level":"info","message":"Building connection plan"} 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":"ebd4203f-10e0-4e9d-95c2-4080201b17ec"},{"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":"cb55abb2-e88a-4404-a4d9-cafd1963c1e9"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"33a73931-f799-444c-84d5-63a0b7847084"}]},"level":"info","message":"Built pairwise service configurations"} 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/7001931a-c1df-4128-a0b5-5aa7bd14788a"},{"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/315cbda1-8445-4fd2-a6a6-889b471d8c14"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0acd1ceda731456eaaa9981d8f6f85e9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:27Z"} gateway-1 | {"time_local":"29/Apr/2024:14:42:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/315cbda1-8445-4fd2-a6a6-889b471d8c14? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0acd1ceda731456eaaa9981d8f6f85e9"} device-1 | {"level":"info","message":"GET /devices/315cbda1-8445-4fd2-a6a6-889b471d8c14? 200 14ms","method":"GET","requestID":"0acd1ceda731456eaaa9981d8f6f85e9","responseTime":14,"status":200,"url":"/devices/315cbda1-8445-4fd2-a6a6-889b471d8c14?"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.886136,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401747,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0N30.iQUuNanF_C6h9M7gZF3SstDTBaQA1MTPLLw1FuTd3HM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3376f50-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0N30.iQUuNanF_C6h9M7gZF3SstDTBaQA1MTPLLw1FuTd3HM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9b9eb0051bcc7b3e63d8b1537ae40567","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.898787,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7001931a-c1df-4128-a0b5-5aa7bd14788a","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/7001931a-c1df-4128-a0b5-5aa7bd14788a","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401747,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0N30.iQUuNanF_C6h9M7gZF3SstDTBaQA1MTPLLw1FuTd3HM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b9eb0051bcc7b3e63d8b1537ae40567"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","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%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"333843af-d321-4d46-8ed7-8b18398b66bf","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401747.6688101} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d2b51444-9747-4587-a400-395adeab1cf6","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401747.669087} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7001931a-c1df-4128-a0b5-5aa7bd14788a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7001931a-c1df-4128-a0b5-5aa7bd14788a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:26.863907768Z"}]},"request_id":"14a93507-e95a-46c3-a0a3-73b8997e6ad9","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401747.6697433} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3376f50-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b9eb0051bcc7b3e63d8b1537ae40567"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7001931a-c1df-4128-a0b5-5aa7bd14788a? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9b9eb0051bcc7b3e63d8b1537ae40567"} device-1 | {"level":"info","message":"GET /devices/7001931a-c1df-4128-a0b5-5aa7bd14788a? 200 16ms","method":"GET","requestID":"9b9eb0051bcc7b3e63d8b1537ae40567","responseTime":16,"status":200,"url":"/devices/7001931a-c1df-4128-a0b5-5aa7bd14788a?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/b067f683-0e7f-43eb-aba8-99bd444bc2c4'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/b067f683-0e7f-43eb-aba8-99bd444bc2c4'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 37ms","method":"POST","requestID":"b3376f50-0636-11ef-8c83-05b823ec2e4f","responseTime":37,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device-1 | {"data":{"peerconnection":"b067f683-0e7f-43eb-aba8-99bd444bc2c4","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"b067f683-0e7f-43eb-aba8-99bd444bc2c4","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/b067f683-0e7f-43eb-aba8-99bd444bc2c4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b067f683-0e7f-43eb-aba8-99bd444bc2c4","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/373adac9-c045-47b3-a81e-cc3cbae68447"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"51264c634b8be38e18a162c42997773c","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/7001931a-c1df-4128-a0b5-5aa7bd14788a"},{"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/315cbda1-8445-4fd2-a6a6-889b471d8c14"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/b067f683-0e7f-43eb-aba8-99bd444bc2c4"}}},"level":"info","message":"received a callback"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F315cbda1-8445-4fd2-a6a6-889b471d8c14","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9567c3d6-23c7-4fd0-b5d2-a6fbd03fbad9","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401747.7248673} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.463593,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/315cbda1-8445-4fd2-a6a6-889b471d8c14","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/315cbda1-8445-4fd2-a6a6-889b471d8c14","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"51264c634b8be38e18a162c42997773c","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"51264c634b8be38e18a162c42997773c"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b341a880-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"data":{"peerconnection":"b067f683-0e7f-43eb-aba8-99bd444bc2c4","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/315cbda1-8445-4fd2-a6a6-889b471d8c14/signaling 200 11ms","method":"POST","requestID":"b341a880-0636-11ef-8c83-05b823ec2e4f","responseTime":11,"status":200,"url":"/devices/315cbda1-8445-4fd2-a6a6-889b471d8c14/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7001931a-c1df-4128-a0b5-5aa7bd14788a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b999d981-8d1a-42f0-91a2-b844213bce2e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401747.7382863} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.4885,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7001931a-c1df-4128-a0b5-5aa7bd14788a","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7001931a-c1df-4128-a0b5-5aa7bd14788a","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b343a450-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/7001931a-c1df-4128-a0b5-5aa7bd14788a/signaling 200 10ms","method":"POST","requestID":"b343a450-0636-11ef-8c83-05b823ec2e4f","responseTime":10,"status":200,"url":"/devices/7001931a-c1df-4128-a0b5-5aa7bd14788a/signaling"} device-1 | {"data":{"peerconnection":"b067f683-0e7f-43eb-aba8-99bd444bc2c4","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/b067f683-0e7f-43eb-aba8-99bd444bc2c4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b067f683-0e7f-43eb-aba8-99bd444bc2c4","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"bbf19f6b40b45c3816883d27a77d0eba","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/7001931a-c1df-4128-a0b5-5aa7bd14788a"},{"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/315cbda1-8445-4fd2-a6a6-889b471d8c14"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/b067f683-0e7f-43eb-aba8-99bd444bc2c4"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb067f683-0e7f-43eb-aba8-99bd444bc2c4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ae356f8e-2dc2-47f5-953e-36c93a062875","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401747.7758305} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.178378,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b067f683-0e7f-43eb-aba8-99bd444bc2c4","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/b067f683-0e7f-43eb-aba8-99bd444bc2c4","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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b34997c0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/b067f683-0e7f-43eb-aba8-99bd444bc2c4 200 7ms","method":"GET","requestID":"b34997c0-0636-11ef-8c83-05b823ec2e4f","responseTime":7,"status":200,"url":"/peerconnections/b067f683-0e7f-43eb-aba8-99bd444bc2c4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 25ms","method":"POST","requestID":"bbf19f6b40b45c3816883d27a77d0eba","responseTime":25,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.028","http_referrer":"","http_user_agent":"node-fetch","requestID":"bbf19f6b40b45c3816883d27a77d0eba"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7001931a-c1df-4128-a0b5-5aa7bd14788a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0a7d1b06-6453-46d2-8438-39437e47d451","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401747.7978137} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.636916,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7001931a-c1df-4128-a0b5-5aa7bd14788a","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7001931a-c1df-4128-a0b5-5aa7bd14788a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b34cf320-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/7001931a-c1df-4128-a0b5-5aa7bd14788a/signaling 200 8ms","method":"POST","requestID":"b34cf320-0636-11ef-8c83-05b823ec2e4f","responseTime":8,"status":200,"url":"/devices/7001931a-c1df-4128-a0b5-5aa7bd14788a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F315cbda1-8445-4fd2-a6a6-889b471d8c14","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"be5ef59d-53e8-44da-bb2c-b6dd7301ed0a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401747.8084922} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.459782,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/315cbda1-8445-4fd2-a6a6-889b471d8c14","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/315cbda1-8445-4fd2-a6a6-889b471d8c14","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b34e79c0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/315cbda1-8445-4fd2-a6a6-889b471d8c14/signaling 200 9ms","method":"POST","requestID":"b34e79c0-0636-11ef-8c83-05b823ec2e4f","responseTime":9,"status":200,"url":"/devices/315cbda1-8445-4fd2-a6a6-889b471d8c14/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0N30.iQUuNanF_C6h9M7gZF3SstDTBaQA1MTPLLw1FuTd3HM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"5c89ae1f69370186e19a55d772e6873f","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/373adac9-c045-47b3-a81e-cc3cbae68447"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.457457,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/373adac9-c045-47b3-a81e-cc3cbae68447","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/373adac9-c045-47b3-a81e-cc3cbae68447","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401747,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0N30.iQUuNanF_C6h9M7gZF3SstDTBaQA1MTPLLw1FuTd3HM"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5c89ae1f69370186e19a55d772e6873f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/373adac9-c045-47b3-a81e-cc3cbae68447"} gateway-1 | {"time_local":"29/Apr/2024:14:42:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/373adac9-c045-47b3-a81e-cc3cbae68447 HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5c89ae1f69370186e19a55d772e6873f"} experiment-1 | {"level":"info","message":"GET /experiments/373adac9-c045-47b3-a81e-cc3cbae68447 200 16ms","method":"GET","requestID":"5c89ae1f69370186e19a55d772e6873f","responseTime":16,"status":200,"url":"/experiments/373adac9-c045-47b3-a81e-cc3cbae68447"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0N30.iQUuNanF_C6h9M7gZF3SstDTBaQA1MTPLLw1FuTd3HM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c757c0097c80a5dcc3c9e133079bb773","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/373adac9-c045-47b3-a81e-cc3cbae68447"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.264681,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/373adac9-c045-47b3-a81e-cc3cbae68447","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/373adac9-c045-47b3-a81e-cc3cbae68447","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401747,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0N30.iQUuNanF_C6h9M7gZF3SstDTBaQA1MTPLLw1FuTd3HM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c757c0097c80a5dcc3c9e133079bb773"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/373adac9-c045-47b3-a81e-cc3cbae68447"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.238778,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b067f683-0e7f-43eb-aba8-99bd444bc2c4","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:http://localhost/peerconnections/b067f683-0e7f-43eb-aba8-99bd444bc2c4","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401747,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0N30.iQUuNanF_C6h9M7gZF3SstDTBaQA1MTPLLw1FuTd3HM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b35dbc00-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/b067f683-0e7f-43eb-aba8-99bd444bc2c4' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/b067f683-0e7f-43eb-aba8-99bd444bc2c4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b067f683-0e7f-43eb-aba8-99bd444bc2c4","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"225901b64a7ede3bd53690288cd16357","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb067f683-0e7f-43eb-aba8-99bd444bc2c4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb067f683-0e7f-43eb-aba8-99bd444bc2c4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"cbff3cf2-089c-47fa-bbbb-10ba4e6cc24d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401747.932676} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/7001931a-c1df-4128-a0b5-5aa7bd14788a"},{"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/315cbda1-8445-4fd2-a6a6-889b471d8c14"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b067f683-0e7f-43eb-aba8-99bd444bc2c4"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bf531eb75cdb5d247e9e6a5fe5b27df7","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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"55e9ec62-ef80-41bc-b3ed-c4aa5c887268","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401747.933393} 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/7001931a-c1df-4128-a0b5-5aa7bd14788a"},{"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/315cbda1-8445-4fd2-a6a6-889b471d8c14"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b067f683-0e7f-43eb-aba8-99bd444bc2c4"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b35dbc00-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} device-1 | {"data":{"peerconnection":"b067f683-0e7f-43eb-aba8-99bd444bc2c4","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/b067f683-0e7f-43eb-aba8-99bd444bc2c4 204 49ms","method":"DELETE","requestID":"b35dbc00-0636-11ef-8c83-05b823ec2e4f","responseTime":49,"status":204,"url":"/peerconnections/b067f683-0e7f-43eb-aba8-99bd444bc2c4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/373adac9-c045-47b3-a81e-cc3cbae68447"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7001931a-c1df-4128-a0b5-5aa7bd14788a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e87eb6cb-f592-40fd-bd3a-d994653e7104","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401747.9841065} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.500434,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7001931a-c1df-4128-a0b5-5aa7bd14788a","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7001931a-c1df-4128-a0b5-5aa7bd14788a","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b36906a0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/7001931a-c1df-4128-a0b5-5aa7bd14788a/signaling 200 12ms","method":"POST","requestID":"b36906a0-0636-11ef-8c83-05b823ec2e4f","responseTime":12,"status":200,"url":"/devices/7001931a-c1df-4128-a0b5-5aa7bd14788a/signaling"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F373adac9-c045-47b3-a81e-cc3cbae68447': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F373adac9-c045-47b3-a81e-cc3cbae68447","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"8335607e-33d3-4689-9afe-dab558f5b54f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401747.9923813} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b4fa19e4-4730-4122-b462-62073b108408","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401747.9926832} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c757c0097c80a5dcc3c9e133079bb773"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:27Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F315cbda1-8445-4fd2-a6a6-889b471d8c14","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ed8d07f9-a37a-4dfa-8971-76e247a6a02a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401747.9993255} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.957278,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/315cbda1-8445-4fd2-a6a6-889b471d8c14","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/315cbda1-8445-4fd2-a6a6-889b471d8c14","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b36b5090-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/315cbda1-8445-4fd2-a6a6-889b471d8c14/signaling 200 13ms","method":"POST","requestID":"b36b5090-0636-11ef-8c83-05b823ec2e4f","responseTime":13,"status":200,"url":"/devices/315cbda1-8445-4fd2-a6a6-889b471d8c14/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/373adac9-c045-47b3-a81e-cc3cbae68447"} gateway-1 | {"time_local":"29/Apr/2024:14:42:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/373adac9-c045-47b3-a81e-cc3cbae68447 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.174","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c757c0097c80a5dcc3c9e133079bb773"} gateway-1 | {"time_local":"29/Apr/2024:14:42:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2161","request_time":"0.646","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"b76dedf05052fc4e22e640a4316fae36"} experiment-1 | {"level":"info","message":"DELETE /experiments/373adac9-c045-47b3-a81e-cc3cbae68447 204 170ms","method":"DELETE","requestID":"c757c0097c80a5dcc3c9e133079bb773","responseTime":170,"status":204,"url":"/experiments/373adac9-c045-47b3-a81e-cc3cbae68447"} gateway-1 | {"time_local":"29/Apr/2024:14:42:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2163","request_time":"0.634","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"5942c87b18005c409aed54ab766156c6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 128ms","method":"POST","requestID":"225901b64a7ede3bd53690288cd16357","responseTime":128,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.132","http_referrer":"","http_user_agent":"node-fetch","requestID":"225901b64a7ede3bd53690288cd16357"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 126ms","method":"POST","requestID":"bf531eb75cdb5d247e9e6a5fe5b27df7","responseTime":126,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.133","http_referrer":"","http_user_agent":"node-fetch","requestID":"bf531eb75cdb5d247e9e6a5fe5b27df7"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/315cbda1-8445-4fd2-a6a6-889b471d8c14' closed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0OH0.pTMd7Ux3jWv-CyQsp9emvr2NzzPY9wADc_WiUd0Jtxg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"f22c257c80c5524abe38915014872d40","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.767855,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:28Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401748,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0OH0.pTMd7Ux3jWv-CyQsp9emvr2NzzPY9wADc_WiUd0Jtxg"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/7001931a-c1df-4128-a0b5-5aa7bd14788a' closed"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f22c257c80c5524abe38915014872d40"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05dac8d2-3a7a-4662-9433-fc9bbbf15798","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f147f623-9919-4ae1-831a-d6d5dfae7ce1","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401748.084406} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f22c257c80c5524abe38915014872d40"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2855dbce-efad-47b8-a785-740164fc2799","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401748.0900354} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f22c257c80c5524abe38915014872d40"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05dac8d2-3a7a-4662-9433-fc9bbbf15798","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"5f1ac03b-fa47-49c3-8939-4a4d3b43b62a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401748.1020432} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"93faf04c-905c-402f-b7c9-934eae563f7f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401748.1022866} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f22c257c80c5524abe38915014872d40"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05dac8d2-3a7a-4662-9433-fc9bbbf15798","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05dac8d2-3a7a-4662-9433-fc9bbbf15798","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:28.102006242Z"}]},"request_id":"e8313409-8610-4b6d-b7b3-a06fc4f6b414","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401748.1074262} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f22c257c80c5524abe38915014872d40"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"f22c257c80c5524abe38915014872d40","responseTime":44,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2024:14:42:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f22c257c80c5524abe38915014872d40"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0OH0.pTMd7Ux3jWv-CyQsp9emvr2NzzPY9wADc_WiUd0Jtxg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9643d54f7539c03e8c730ecb9e687e64","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.784782,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:28Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401748,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0OH0.pTMd7Ux3jWv-CyQsp9emvr2NzzPY9wADc_WiUd0Jtxg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9643d54f7539c03e8c730ecb9e687e64"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ce43356-b730-4362-9697-83be4d80e4ff","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3245947b-bb3c-4d35-a957-e717943f345b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401748.1317232} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9643d54f7539c03e8c730ecb9e687e64"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"741bc29b-8392-4fae-80b2-d3b1d04ed47c","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401748.1369147} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9643d54f7539c03e8c730ecb9e687e64"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ce43356-b730-4362-9697-83be4d80e4ff","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"827a8fd6-8583-4d34-b2a0-5881abea552d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401748.1468801} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d9134cd1-aec4-482f-9584-f326a74b1cca","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401748.1471126} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9643d54f7539c03e8c730ecb9e687e64"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ce43356-b730-4362-9697-83be4d80e4ff","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ce43356-b730-4362-9697-83be4d80e4ff","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:28.146840390Z"}]},"request_id":"29b7e453-87a9-4271-a55c-232cf754c4ef","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401748.151837} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9643d54f7539c03e8c730ecb9e687e64"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"9643d54f7539c03e8c730ecb9e687e64","responseTime":39,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2024:14:42:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9643d54f7539c03e8c730ecb9e687e64"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0OH0.pTMd7Ux3jWv-CyQsp9emvr2NzzPY9wADc_WiUd0Jtxg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"5883daa7f40066cd9f661d5813d92287","responseTime":6,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0OH0.pTMd7Ux3jWv-CyQsp9emvr2NzzPY9wADc_WiUd0Jtxg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ced40229e0fec65cac7868a4a47500f4","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.667768,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ce43356-b730-4362-9697-83be4d80e4ff","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/4ce43356-b730-4362-9697-83be4d80e4ff","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401748,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0OH0.pTMd7Ux3jWv-CyQsp9emvr2NzzPY9wADc_WiUd0Jtxg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5883daa7f40066cd9f661d5813d92287"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.818414,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401748,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0OH0.pTMd7Ux3jWv-CyQsp9emvr2NzzPY9wADc_WiUd0Jtxg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ced40229e0fec65cac7868a4a47500f4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ce43356-b730-4362-9697-83be4d80e4ff","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ce43356-b730-4362-9697-83be4d80e4ff","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:28.146840390Z"}]},"request_id":"4ea5291d-0877-454b-be06-cec849257bd8","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401748.6495636} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5883daa7f40066cd9f661d5813d92287"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05dac8d2-3a7a-4662-9433-fc9bbbf15798","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05dac8d2-3a7a-4662-9433-fc9bbbf15798","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:28.102006242Z"}]},"request_id":"66d04c00-4f38-4ed1-9fcd-3402e0df54cd","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401748.6508331} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ced40229e0fec65cac7868a4a47500f4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f67ffb55-c338-41ce-a02d-bdd1bae52481","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401748.6557887} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5883daa7f40066cd9f661d5813d92287"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"874dbd39-e9da-4eaf-b5ea-2b6af4dddcf2","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401748.6580038} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ced40229e0fec65cac7868a4a47500f4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05dac8d2-3a7a-4662-9433-fc9bbbf15798","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05dac8d2-3a7a-4662-9433-fc9bbbf15798","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:28.102006242Z"}]},"request_id":"6a0cb9ce-da39-4447-af33-d4d9c901f751","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401748.6610103} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ced40229e0fec65cac7868a4a47500f4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.033","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"ced40229e0fec65cac7868a4a47500f4"} device-1 | {"level":"info","message":"PATCH /devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798 200 24ms","method":"PATCH","requestID":"ced40229e0fec65cac7868a4a47500f4","responseTime":24,"status":200,"url":"/devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0OH0.pTMd7Ux3jWv-CyQsp9emvr2NzzPY9wADc_WiUd0Jtxg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ac288a198ba531b34bde7dd9f782a7c8","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.774852,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401748,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0OH0.pTMd7Ux3jWv-CyQsp9emvr2NzzPY9wADc_WiUd0Jtxg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ac288a198ba531b34bde7dd9f782a7c8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ce43356-b730-4362-9697-83be4d80e4ff","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ce43356-b730-4362-9697-83be4d80e4ff","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:28.146840390Z"}]},"request_id":"bdb2e4ac-50b9-482d-9a22-22f77514d969","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401748.6780024} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5883daa7f40066cd9f661d5813d92287"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/4ce43356-b730-4362-9697-83be4d80e4ff 200 42ms","method":"PATCH","requestID":"5883daa7f40066cd9f661d5813d92287","responseTime":42,"status":200,"url":"/devices/4ce43356-b730-4362-9697-83be4d80e4ff"} gateway-1 | {"time_local":"29/Apr/2024:14:42:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/4ce43356-b730-4362-9697-83be4d80e4ff HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.051","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"5883daa7f40066cd9f661d5813d92287"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0OH0.pTMd7Ux3jWv-CyQsp9emvr2NzzPY9wADc_WiUd0Jtxg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8e14e5ba5e179b849189993b66d554d4","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798/websocket 200 21ms","method":"POST","requestID":"ac288a198ba531b34bde7dd9f782a7c8","responseTime":21,"status":200,"url":"/devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798/websocket"} gateway-1 | {"time_local":"29/Apr/2024:14:42:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.024","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"ac288a198ba531b34bde7dd9f782a7c8"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.046997,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ce43356-b730-4362-9697-83be4d80e4ff","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/4ce43356-b730-4362-9697-83be4d80e4ff","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401748,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0OH0.pTMd7Ux3jWv-CyQsp9emvr2NzzPY9wADc_WiUd0Jtxg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e14e5ba5e179b849189993b66d554d4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4ce43356-b730-4362-9697-83be4d80e4ff/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.015","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"8e14e5ba5e179b849189993b66d554d4"} device-1 | {"level":"info","message":"POST /devices/4ce43356-b730-4362-9697-83be4d80e4ff/websocket 200 10ms","method":"POST","requestID":"8e14e5ba5e179b849189993b66d554d4","responseTime":10,"status":200,"url":"/devices/4ce43356-b730-4362-9697-83be4d80e4ff/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/4ce43356-b730-4362-9697-83be4d80e4ff' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0OH0.pTMd7Ux3jWv-CyQsp9emvr2NzzPY9wADc_WiUd0Jtxg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"11e9fd9683aca7ae01c8ec460db03312","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.788111,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401748,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0OH0.pTMd7Ux3jWv-CyQsp9emvr2NzzPY9wADc_WiUd0Jtxg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"11e9fd9683aca7ae01c8ec460db03312"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05dac8d2-3a7a-4662-9433-fc9bbbf15798","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05dac8d2-3a7a-4662-9433-fc9bbbf15798","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:28.102006242Z"}]},"request_id":"ebc03cea-979c-4325-b331-48f4d53c8ca0","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401748.7237735} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"11e9fd9683aca7ae01c8ec460db03312"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798? 200 11ms","method":"GET","requestID":"11e9fd9683aca7ae01c8ec460db03312","responseTime":11,"status":200,"url":"/devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798?"} gateway-1 | {"time_local":"29/Apr/2024:14:42:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798? 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":"11e9fd9683aca7ae01c8ec460db03312"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0OH0.pTMd7Ux3jWv-CyQsp9emvr2NzzPY9wADc_WiUd0Jtxg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"91b6b545c1498603d98ab68c9f113026","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.717876,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ce43356-b730-4362-9697-83be4d80e4ff","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/4ce43356-b730-4362-9697-83be4d80e4ff","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401748,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0OH0.pTMd7Ux3jWv-CyQsp9emvr2NzzPY9wADc_WiUd0Jtxg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"91b6b545c1498603d98ab68c9f113026"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ce43356-b730-4362-9697-83be4d80e4ff","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ce43356-b730-4362-9697-83be4d80e4ff","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:28.146840390Z"}]},"request_id":"df764c70-7817-4b5a-84c8-75c1e425b041","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401748.7409334} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"91b6b545c1498603d98ab68c9f113026"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/4ce43356-b730-4362-9697-83be4d80e4ff? 200 12ms","method":"GET","requestID":"91b6b545c1498603d98ab68c9f113026","responseTime":12,"status":200,"url":"/devices/4ce43356-b730-4362-9697-83be4d80e4ff?"} gateway-1 | {"time_local":"29/Apr/2024:14:42:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4ce43356-b730-4362-9697-83be4d80e4ff? 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":"91b6b545c1498603d98ab68c9f113026"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0OH0.pTMd7Ux3jWv-CyQsp9emvr2NzzPY9wADc_WiUd0Jtxg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"23c1be05947b6df04f9304bbab0a5cd9","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.066416,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:28Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401748,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0OH0.pTMd7Ux3jWv-CyQsp9emvr2NzzPY9wADc_WiUd0Jtxg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"23c1be05947b6df04f9304bbab0a5cd9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e60b1d5-3f0c-4673-b4d0-4cda9a4045b2"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e60b1d5-3f0c-4673-b4d0-4cda9a4045b2"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e60b1d5-3f0c-4673-b4d0-4cda9a4045b2"},"level":"info","message":"Successfully booked experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.128281,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401748,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0OH0.pTMd7Ux3jWv-CyQsp9emvr2NzzPY9wADc_WiUd0Jtxg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3e67400-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.573613,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ce43356-b730-4362-9697-83be4d80e4ff","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/4ce43356-b730-4362-9697-83be4d80e4ff","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401748,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0OH0.pTMd7Ux3jWv-CyQsp9emvr2NzzPY9wADc_WiUd0Jtxg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3e6c220-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05dac8d2-3a7a-4662-9433-fc9bbbf15798","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05dac8d2-3a7a-4662-9433-fc9bbbf15798","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:28.102006242Z"}]},"request_id":"9ec21f28-bd8e-4c68-bde8-54158745e850","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401748.8127449} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3e67400-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ce43356-b730-4362-9697-83be4d80e4ff","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ce43356-b730-4362-9697-83be4d80e4ff","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:28.146840390Z"}]},"request_id":"7ef5b32b-56d8-4daf-89e7-161561de2a07","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401748.814014} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3e6c220-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798? 200 20ms","method":"GET","requestID":"b3e67400-0636-11ef-8c83-05b823ec2e4f","responseTime":20,"status":200,"url":"/devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/4ce43356-b730-4362-9697-83be4d80e4ff? 200 20ms","method":"GET","requestID":"b3e6c220-0636-11ef-8c83-05b823ec2e4f","responseTime":20,"status":200,"url":"/devices/4ce43356-b730-4362-9697-83be4d80e4ff?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e60b1d5-3f0c-4673-b4d0-4cda9a4045b2"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e60b1d5-3f0c-4673-b4d0-4cda9a4045b2"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e60b1d5-3f0c-4673-b4d0-4cda9a4045b2"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e60b1d5-3f0c-4673-b4d0-4cda9a4045b2"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e60b1d5-3f0c-4673-b4d0-4cda9a4045b2"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e60b1d5-3f0c-4673-b4d0-4cda9a4045b2"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e60b1d5-3f0c-4673-b4d0-4cda9a4045b2"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e60b1d5-3f0c-4673-b4d0-4cda9a4045b2"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e60b1d5-3f0c-4673-b4d0-4cda9a4045b2"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.883759,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401748,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0OH0.pTMd7Ux3jWv-CyQsp9emvr2NzzPY9wADc_WiUd0Jtxg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3f19790-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.908259,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ce43356-b730-4362-9697-83be4d80e4ff","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/4ce43356-b730-4362-9697-83be4d80e4ff","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401748,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0OH0.pTMd7Ux3jWv-CyQsp9emvr2NzzPY9wADc_WiUd0Jtxg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3f1e5b0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.757082,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:28Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05dac8d2-3a7a-4662-9433-fc9bbbf15798","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c4e2ce36-5afd-4cca-a8b3-60d01629765b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401748.8835704} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3f233d0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05dac8d2-3a7a-4662-9433-fc9bbbf15798","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05dac8d2-3a7a-4662-9433-fc9bbbf15798","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:28.102006242Z"}]},"request_id":"dee12e1c-c2ce-4dac-b690-73d2fe65dc96","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401748.8861115} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3f19790-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ce43356-b730-4362-9697-83be4d80e4ff","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ce43356-b730-4362-9697-83be4d80e4ff","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:28.146840390Z"}]},"request_id":"c98ce9f0-25dc-4252-b2d8-610722c4facb","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401748.889744} device-1 | {"level":"info","message":"POST /devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798/signaling 200 13ms","method":"POST","requestID":"b3f233d0-0636-11ef-8c83-05b823ec2e4f","responseTime":13,"status":200,"url":"/devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3f1e5b0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4e60b1d5-3f0c-4673-b4d0-4cda9a4045b2#owner@http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4e60b1d5-3f0c-4673-b4d0-4cda9a4045b2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"0ab136e5-945a-4819-83ac-70f0ad20e389","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401748.8949993} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e289906f-b7dd-4142-938c-3cc326e3802e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401748.8953445} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798? 200 24ms","method":"GET","requestID":"b3f19790-0636-11ef-8c83-05b823ec2e4f","responseTime":24,"status":200,"url":"/devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"23c1be05947b6df04f9304bbab0a5cd9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:28Z"} device-1 | {"level":"info","message":"GET /devices/4ce43356-b730-4362-9697-83be4d80e4ff? 200 23ms","method":"GET","requestID":"b3f1e5b0-0636-11ef-8c83-05b823ec2e4f","responseTime":23,"status":200,"url":"/devices/4ce43356-b730-4362-9697-83be4d80e4ff?"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ce43356-b730-4362-9697-83be4d80e4ff","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"27f2302e-76df-476f-88d7-15f641938750","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401748.8996334} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.61727,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ce43356-b730-4362-9697-83be4d80e4ff","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4ce43356-b730-4362-9697-83be4d80e4ff","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3f4cbe0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/4e60b1d5-3f0c-4673-b4d0-4cda9a4045b2","user":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:28Z"} experiment-1 | {"level":"info","message":"POST /experiments? 201 159ms","method":"POST","requestID":"23c1be05947b6df04f9304bbab0a5cd9","responseTime":159,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"POST /devices/4ce43356-b730-4362-9697-83be4d80e4ff/signaling 200 14ms","method":"POST","requestID":"b3f4cbe0-0636-11ef-8c83-05b823ec2e4f","responseTime":14,"status":200,"url":"/devices/4ce43356-b730-4362-9697-83be4d80e4ff/signaling"} gateway-1 | {"time_local":"29/Apr/2024:14:42:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.163","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"23c1be05947b6df04f9304bbab0a5cd9"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05dac8d2-3a7a-4662-9433-fc9bbbf15798","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a7c0260a-a4db-4eb2-97ca-5d34d20d605d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401748.910441} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.739606,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3f67990-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0OH0.pTMd7Ux3jWv-CyQsp9emvr2NzzPY9wADc_WiUd0Jtxg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9eb92fc670fe527d0f45aa991ede99dc","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798/signaling 200 10ms","method":"POST","requestID":"b3f67990-0636-11ef-8c83-05b823ec2e4f","responseTime":10,"status":200,"url":"/devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.093359,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401748,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0OH0.pTMd7Ux3jWv-CyQsp9emvr2NzzPY9wADc_WiUd0Jtxg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9eb92fc670fe527d0f45aa991ede99dc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:28Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ce43356-b730-4362-9697-83be4d80e4ff","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7736fb62-2e36-4063-acdc-5626bae00a1f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401748.9206975} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.299914,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ce43356-b730-4362-9697-83be4d80e4ff","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4ce43356-b730-4362-9697-83be4d80e4ff","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3f84e50-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05dac8d2-3a7a-4662-9433-fc9bbbf15798","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05dac8d2-3a7a-4662-9433-fc9bbbf15798","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:28.102006242Z"}]},"request_id":"72c83b80-28a5-4087-80f0-540963bd6afa","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401748.9241462} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9eb92fc670fe527d0f45aa991ede99dc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"POST /devices/4ce43356-b730-4362-9697-83be4d80e4ff/signaling 200 8ms","method":"POST","requestID":"b3f84e50-0636-11ef-8c83-05b823ec2e4f","responseTime":8,"status":200,"url":"/devices/4ce43356-b730-4362-9697-83be4d80e4ff/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e60b1d5-3f0c-4673-b4d0-4cda9a4045b2"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e60b1d5-3f0c-4673-b4d0-4cda9a4045b2"},"level":"info","message":"Building connection plan"} 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":"39ef69c1-4d70-4986-9259-d668521879b1"},{"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":"0f00d493-3e29-4819-847a-071685fb484b"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"250c2f14-62ee-47a7-9ace-2f4a2b31bb47"}]},"level":"info","message":"Built pairwise service configurations"} 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/05dac8d2-3a7a-4662-9433-fc9bbbf15798"},{"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/4ce43356-b730-4362-9697-83be4d80e4ff"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9eb92fc670fe527d0f45aa991ede99dc"} device-1 | {"level":"info","message":"GET /devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798? 200 14ms","method":"GET","requestID":"9eb92fc670fe527d0f45aa991ede99dc","responseTime":14,"status":200,"url":"/devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798?"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.710871,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:28Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401748,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0OH0.pTMd7Ux3jWv-CyQsp9emvr2NzzPY9wADc_WiUd0Jtxg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3f9fc00-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0OH0.pTMd7Ux3jWv-CyQsp9emvr2NzzPY9wADc_WiUd0Jtxg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"36cee61ed893b590960c355f2ea782ab","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.715842,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ce43356-b730-4362-9697-83be4d80e4ff","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/4ce43356-b730-4362-9697-83be4d80e4ff","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401748,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0OH0.pTMd7Ux3jWv-CyQsp9emvr2NzzPY9wADc_WiUd0Jtxg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"36cee61ed893b590960c355f2ea782ab"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","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%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"51374819-88f9-4603-a683-7753cb6d1807","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401748.939948} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fa2f8655-38ea-4b38-9e06-094daebb1503","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401748.940309} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3f9fc00-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ce43356-b730-4362-9697-83be4d80e4ff","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ce43356-b730-4362-9697-83be4d80e4ff","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:28.146840390Z"}]},"request_id":"58d6404f-b2ff-489d-bc40-9a12d5fcecca","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401748.945158} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"36cee61ed893b590960c355f2ea782ab"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/ad41307c-3c34-4a5a-aef6-546f27807e3f'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/ad41307c-3c34-4a5a-aef6-546f27807e3f'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 40ms","method":"POST","requestID":"b3f9fc00-0636-11ef-8c83-05b823ec2e4f","responseTime":40,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/4ce43356-b730-4362-9697-83be4d80e4ff? 200 33ms","method":"GET","requestID":"36cee61ed893b590960c355f2ea782ab","responseTime":33,"status":200,"url":"/devices/4ce43356-b730-4362-9697-83be4d80e4ff?"} gateway-1 | {"time_local":"29/Apr/2024:14:42:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4ce43356-b730-4362-9697-83be4d80e4ff? 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":"36cee61ed893b590960c355f2ea782ab"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device-1 | {"data":{"peerconnection":"ad41307c-3c34-4a5a-aef6-546f27807e3f","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"ad41307c-3c34-4a5a-aef6-546f27807e3f","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e60b1d5-3f0c-4673-b4d0-4cda9a4045b2"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/ad41307c-3c34-4a5a-aef6-546f27807e3f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ad41307c-3c34-4a5a-aef6-546f27807e3f","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"eed629ca85eac13f56f057949d2a552f","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/05dac8d2-3a7a-4662-9433-fc9bbbf15798"},{"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/4ce43356-b730-4362-9697-83be4d80e4ff"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/ad41307c-3c34-4a5a-aef6-546f27807e3f"}}},"level":"info","message":"received a callback"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:28Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05dac8d2-3a7a-4662-9433-fc9bbbf15798","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6325c004-3205-433d-a428-a288889b79e8","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401749.0001838} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.711597,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b4043530-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"eed629ca85eac13f56f057949d2a552f","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"eed629ca85eac13f56f057949d2a552f"} device-1 | {"data":{"peerconnection":"ad41307c-3c34-4a5a-aef6-546f27807e3f","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798/signaling 200 12ms","method":"POST","requestID":"b4043530-0636-11ef-8c83-05b823ec2e4f","responseTime":12,"status":200,"url":"/devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:29Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ce43356-b730-4362-9697-83be4d80e4ff","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"71d17a42-01dc-401b-bd97-4f7ff07b7a33","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401749.0129583} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.156747,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ce43356-b730-4362-9697-83be4d80e4ff","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4ce43356-b730-4362-9697-83be4d80e4ff","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b4065810-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/4ce43356-b730-4362-9697-83be4d80e4ff/signaling 200 8ms","method":"POST","requestID":"b4065810-0636-11ef-8c83-05b823ec2e4f","responseTime":8,"status":200,"url":"/devices/4ce43356-b730-4362-9697-83be4d80e4ff/signaling"} device-1 | {"data":{"peerconnection":"ad41307c-3c34-4a5a-aef6-546f27807e3f","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/ad41307c-3c34-4a5a-aef6-546f27807e3f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ad41307c-3c34-4a5a-aef6-546f27807e3f","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"bb783849eef3dcfcc1775e55b0340240","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/05dac8d2-3a7a-4662-9433-fc9bbbf15798"},{"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/4ce43356-b730-4362-9697-83be4d80e4ff"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/ad41307c-3c34-4a5a-aef6-546f27807e3f"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:29Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fad41307c-3c34-4a5a-aef6-546f27807e3f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bc56c777-ffc7-4fcb-83a6-05b84eda343d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401749.0525246} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.032656,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ad41307c-3c34-4a5a-aef6-546f27807e3f","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/ad41307c-3c34-4a5a-aef6-546f27807e3f","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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b40c4b80-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/ad41307c-3c34-4a5a-aef6-546f27807e3f 200 8ms","method":"GET","requestID":"b40c4b80-0636-11ef-8c83-05b823ec2e4f","responseTime":8,"status":200,"url":"/peerconnections/ad41307c-3c34-4a5a-aef6-546f27807e3f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 25ms","method":"POST","requestID":"bb783849eef3dcfcc1775e55b0340240","responseTime":25,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.028","http_referrer":"","http_user_agent":"node-fetch","requestID":"bb783849eef3dcfcc1775e55b0340240"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:29Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05dac8d2-3a7a-4662-9433-fc9bbbf15798","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c0b734d2-1cce-4284-aab7-e22a216df54b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401749.0743184} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.333049,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b40fa6e0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798/signaling 200 8ms","method":"POST","requestID":"b40fa6e0-0636-11ef-8c83-05b823ec2e4f","responseTime":8,"status":200,"url":"/devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:29Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ce43356-b730-4362-9697-83be4d80e4ff","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"29473476-4a59-49e4-ab28-b5bbae6210af","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401749.084196} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.39973,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ce43356-b730-4362-9697-83be4d80e4ff","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4ce43356-b730-4362-9697-83be4d80e4ff","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b4112d80-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/4ce43356-b730-4362-9697-83be4d80e4ff/signaling 200 8ms","method":"POST","requestID":"b4112d80-0636-11ef-8c83-05b823ec2e4f","responseTime":8,"status":200,"url":"/devices/4ce43356-b730-4362-9697-83be4d80e4ff/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0OX0._OfsApOdVs-Q8J2G7dJS1R5J3PATDVXd2nSdkaWfJMo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8066f9dbf6cbd5fc50a3168d11d2eb06","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/4e60b1d5-3f0c-4673-b4d0-4cda9a4045b2"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:29Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.319022,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4e60b1d5-3f0c-4673-b4d0-4cda9a4045b2","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/4e60b1d5-3f0c-4673-b4d0-4cda9a4045b2","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401749,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0OX0._OfsApOdVs-Q8J2G7dJS1R5J3PATDVXd2nSdkaWfJMo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8066f9dbf6cbd5fc50a3168d11d2eb06"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/4e60b1d5-3f0c-4673-b4d0-4cda9a4045b2"} experiment-1 | {"level":"info","message":"GET /experiments/4e60b1d5-3f0c-4673-b4d0-4cda9a4045b2 200 15ms","method":"GET","requestID":"8066f9dbf6cbd5fc50a3168d11d2eb06","responseTime":15,"status":200,"url":"/experiments/4e60b1d5-3f0c-4673-b4d0-4cda9a4045b2"} gateway-1 | {"time_local":"29/Apr/2024:14:42:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/4e60b1d5-3f0c-4673-b4d0-4cda9a4045b2 HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8066f9dbf6cbd5fc50a3168d11d2eb06"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0OX0._OfsApOdVs-Q8J2G7dJS1R5J3PATDVXd2nSdkaWfJMo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"291d087091e9882414565842712a2694","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/4e60b1d5-3f0c-4673-b4d0-4cda9a4045b2"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:29Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.197785,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:29Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4e60b1d5-3f0c-4673-b4d0-4cda9a4045b2","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/4e60b1d5-3f0c-4673-b4d0-4cda9a4045b2","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401749,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0OX0._OfsApOdVs-Q8J2G7dJS1R5J3PATDVXd2nSdkaWfJMo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"291d087091e9882414565842712a2694"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e60b1d5-3f0c-4673-b4d0-4cda9a4045b2"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:29Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":2.685803,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:29Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ad41307c-3c34-4a5a-aef6-546f27807e3f","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:http://localhost/peerconnections/ad41307c-3c34-4a5a-aef6-546f27807e3f","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401749,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0OX0._OfsApOdVs-Q8J2G7dJS1R5J3PATDVXd2nSdkaWfJMo"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b42021a0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/ad41307c-3c34-4a5a-aef6-546f27807e3f' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/ad41307c-3c34-4a5a-aef6-546f27807e3f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ad41307c-3c34-4a5a-aef6-546f27807e3f","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fad41307c-3c34-4a5a-aef6-546f27807e3f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fad41307c-3c34-4a5a-aef6-546f27807e3f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"0db97628-9d98-496e-88aa-8a7a35a2fc9a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401749.2059376} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c84f3884159eacbefe3c0faec6bcaaa9","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/05dac8d2-3a7a-4662-9433-fc9bbbf15798"},{"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/4ce43356-b730-4362-9697-83be4d80e4ff"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ad41307c-3c34-4a5a-aef6-546f27807e3f"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8e4dac1caec4b676871cd916e583225a","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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7cc9a5ae-4754-4362-acb0-0e0f3a4a4b24","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401749.208383} 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/05dac8d2-3a7a-4662-9433-fc9bbbf15798"},{"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/4ce43356-b730-4362-9697-83be4d80e4ff"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ad41307c-3c34-4a5a-aef6-546f27807e3f"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b42021a0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} device-1 | {"data":{"peerconnection":"ad41307c-3c34-4a5a-aef6-546f27807e3f","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/ad41307c-3c34-4a5a-aef6-546f27807e3f 204 61ms","method":"DELETE","requestID":"b42021a0-0636-11ef-8c83-05b823ec2e4f","responseTime":61,"status":204,"url":"/peerconnections/ad41307c-3c34-4a5a-aef6-546f27807e3f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e60b1d5-3f0c-4673-b4d0-4cda9a4045b2"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:29Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05dac8d2-3a7a-4662-9433-fc9bbbf15798","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"56acfe2f-d1d3-4a7e-8c9d-8f273dd28ab7","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401749.2687247} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.435215,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b42ccbd0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798/signaling 200 14ms","method":"POST","requestID":"b42ccbd0-0636-11ef-8c83-05b823ec2e4f","responseTime":14,"status":200,"url":"/devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798/signaling"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4e60b1d5-3f0c-4673-b4d0-4cda9a4045b2': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4e60b1d5-3f0c-4673-b4d0-4cda9a4045b2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"30071c43-941a-4143-be84-fa98e85f7413","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401749.2787209} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9e9b613b-5a2a-46f4-9deb-51d225e9a80e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401749.2791023} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"291d087091e9882414565842712a2694"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:29Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ce43356-b730-4362-9697-83be4d80e4ff","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"347bc620-ab94-48e1-a1a4-f1a21ca000ea","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401749.2873688} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.170705,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ce43356-b730-4362-9697-83be4d80e4ff","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4ce43356-b730-4362-9697-83be4d80e4ff","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b42fb200-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/4ce43356-b730-4362-9697-83be4d80e4ff/signaling 200 15ms","method":"POST","requestID":"b42fb200-0636-11ef-8c83-05b823ec2e4f","responseTime":15,"status":200,"url":"/devices/4ce43356-b730-4362-9697-83be4d80e4ff/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/4e60b1d5-3f0c-4673-b4d0-4cda9a4045b2"} gateway-1 | {"time_local":"29/Apr/2024:14:42:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/4e60b1d5-3f0c-4673-b4d0-4cda9a4045b2 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.184","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"291d087091e9882414565842712a2694"} gateway-1 | {"time_local":"29/Apr/2024:14:42:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2163","request_time":"0.652","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"86091aa776b6dbab8f3527a2d987ed29"} gateway-1 | {"time_local":"29/Apr/2024:14:42:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2161","request_time":"0.644","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"d393f94d683c7f937b978e51685c7da1"} experiment-1 | {"level":"info","message":"DELETE /experiments/4e60b1d5-3f0c-4673-b4d0-4cda9a4045b2 204 180ms","method":"DELETE","requestID":"291d087091e9882414565842712a2694","responseTime":180,"status":204,"url":"/experiments/4e60b1d5-3f0c-4673-b4d0-4cda9a4045b2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 137ms","method":"POST","requestID":"c84f3884159eacbefe3c0faec6bcaaa9","responseTime":137,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.142","http_referrer":"","http_user_agent":"node-fetch","requestID":"c84f3884159eacbefe3c0faec6bcaaa9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 136ms","method":"POST","requestID":"8e4dac1caec4b676871cd916e583225a","responseTime":136,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.143","http_referrer":"","http_user_agent":"node-fetch","requestID":"8e4dac1caec4b676871cd916e583225a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0OX0._OfsApOdVs-Q8J2G7dJS1R5J3PATDVXd2nSdkaWfJMo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2d5ab0f903dcfb187aac77088ea96bfe","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/4ce43356-b730-4362-9697-83be4d80e4ff' closed"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:29Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.903923,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401749,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0OX0._OfsApOdVs-Q8J2G7dJS1R5J3PATDVXd2nSdkaWfJMo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2d5ab0f903dcfb187aac77088ea96bfe"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/05dac8d2-3a7a-4662-9433-fc9bbbf15798' 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:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F561da298-7098-4d9f-a659-e0614b6610f2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"63fdc73b-f32f-4f78-8917-275ea47c56df","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401749.370888} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2d5ab0f903dcfb187aac77088ea96bfe"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9800f4ca-2f2b-43f1-9b18-50dbcfc94507","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401749.3768744} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2d5ab0f903dcfb187aac77088ea96bfe"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F561da298-7098-4d9f-a659-e0614b6610f2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"f3d9cf1d-8050-497b-91a5-fbb91fd89be0","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401749.3887272} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f9148d35-85fb-46ac-ba99-e17c973e0bbb","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401749.389015} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2d5ab0f903dcfb187aac77088ea96bfe"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F561da298-7098-4d9f-a659-e0614b6610f2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F561da298-7098-4d9f-a659-e0614b6610f2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:29.388693085Z"}]},"request_id":"25618149-2cb6-4063-8344-e88ea35de49f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401749.39437} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2d5ab0f903dcfb187aac77088ea96bfe"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2d5ab0f903dcfb187aac77088ea96bfe"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"2d5ab0f903dcfb187aac77088ea96bfe","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0OX0._OfsApOdVs-Q8J2G7dJS1R5J3PATDVXd2nSdkaWfJMo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4e6fd7e75852458bdfa57d2fee173be5","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:29Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.864107,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401749,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc0OX0._OfsApOdVs-Q8J2G7dJS1R5J3PATDVXd2nSdkaWfJMo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4e6fd7e75852458bdfa57d2fee173be5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F430ab01f-45ac-45e0-a8ca-21b73e376c35","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"56dd35b1-9e3e-48b8-9f96-8d919335799e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401749.4198394} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4e6fd7e75852458bdfa57d2fee173be5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d49b0659-8aab-4999-9c04-f03b2a34e5d3","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401749.4246995} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4e6fd7e75852458bdfa57d2fee173be5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F430ab01f-45ac-45e0-a8ca-21b73e376c35","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"210c76cd-5d98-4e64-8500-f5e1146fbbb5","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401749.434741} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"45e722a8-fe23-442b-80a9-dc51fbb9d5b8","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401749.4348452} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4e6fd7e75852458bdfa57d2fee173be5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F430ab01f-45ac-45e0-a8ca-21b73e376c35","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F430ab01f-45ac-45e0-a8ca-21b73e376c35","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:29.434705091Z"}]},"request_id":"16c83650-8f55-433f-adb8-986a122f75b9","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401749.439848} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4e6fd7e75852458bdfa57d2fee173be5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4e6fd7e75852458bdfa57d2fee173be5"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"4e6fd7e75852458bdfa57d2fee173be5","responseTime":40,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"efee13c958e7581d9ca2adc0e70604e2","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2024:14:42:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/430ab01f-45ac-45e0-a8ca-21b73e376c35/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":"efee13c958e7581d9ca2adc0e70604e2"} device-1 | {"level":"info","message":"OPTIONS /devices/430ab01f-45ac-45e0-a8ca-21b73e376c35/websocket 200 1ms","method":"OPTIONS","requestID":"efee13c958e7581d9ca2adc0e70604e2","responseTime":1,"status":200,"url":"/devices/430ab01f-45ac-45e0-a8ca-21b73e376c35/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1MX0.TSszbCHUnaJnTPNCEtsU9DChf8w1RBpTbSs7PnDeTt4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"bcd906a25d8f9d16d0a3eabedad0eef2","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:31Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.188155,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:31Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/430ab01f-45ac-45e0-a8ca-21b73e376c35","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/430ab01f-45ac-45e0-a8ca-21b73e376c35","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401751,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1MX0.TSszbCHUnaJnTPNCEtsU9DChf8w1RBpTbSs7PnDeTt4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bcd906a25d8f9d16d0a3eabedad0eef2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5f13891f661df988cae5e161103fd808","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2024:14:42:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/561da298-7098-4d9f-a659-e0614b6610f2/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":"5f13891f661df988cae5e161103fd808"} device-1 | {"level":"info","message":"OPTIONS /devices/561da298-7098-4d9f-a659-e0614b6610f2/websocket 200 0ms","method":"OPTIONS","requestID":"5f13891f661df988cae5e161103fd808","responseTime":0,"status":200,"url":"/devices/561da298-7098-4d9f-a659-e0614b6610f2/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1MX0.TSszbCHUnaJnTPNCEtsU9DChf8w1RBpTbSs7PnDeTt4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"01e2c3946e209a1c84232ef99f4acc8d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/430ab01f-45ac-45e0-a8ca-21b73e376c35/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.031","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"bcd906a25d8f9d16d0a3eabedad0eef2"} device-1 | {"level":"info","message":"POST /devices/430ab01f-45ac-45e0-a8ca-21b73e376c35/websocket 200 25ms","method":"POST","requestID":"bcd906a25d8f9d16d0a3eabedad0eef2","responseTime":25,"status":200,"url":"/devices/430ab01f-45ac-45e0-a8ca-21b73e376c35/websocket"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:31Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.934727,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:31Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/561da298-7098-4d9f-a659-e0614b6610f2","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/561da298-7098-4d9f-a659-e0614b6610f2","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401751,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1MX0.TSszbCHUnaJnTPNCEtsU9DChf8w1RBpTbSs7PnDeTt4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"01e2c3946e209a1c84232ef99f4acc8d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/561da298-7098-4d9f-a659-e0614b6610f2/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":"01e2c3946e209a1c84232ef99f4acc8d"} device-1 | {"level":"info","message":"POST /devices/561da298-7098-4d9f-a659-e0614b6610f2/websocket 200 15ms","method":"POST","requestID":"01e2c3946e209a1c84232ef99f4acc8d","responseTime":15,"status":200,"url":"/devices/561da298-7098-4d9f-a659-e0614b6610f2/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/430ab01f-45ac-45e0-a8ca-21b73e376c35' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/561da298-7098-4d9f-a659-e0614b6610f2' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1MX0.TSszbCHUnaJnTPNCEtsU9DChf8w1RBpTbSs7PnDeTt4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0e4f3e444204af3c1b79cb614c476572","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:31Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.312416,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/561da298-7098-4d9f-a659-e0614b6610f2","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/561da298-7098-4d9f-a659-e0614b6610f2","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401751,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1MX0.TSszbCHUnaJnTPNCEtsU9DChf8w1RBpTbSs7PnDeTt4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0e4f3e444204af3c1b79cb614c476572"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F561da298-7098-4d9f-a659-e0614b6610f2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F561da298-7098-4d9f-a659-e0614b6610f2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:29.388693085Z"}]},"request_id":"4dee5874-8283-4d89-b8ae-11f5448dbed2","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401751.481216} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0e4f3e444204af3c1b79cb614c476572"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/561da298-7098-4d9f-a659-e0614b6610f2? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0e4f3e444204af3c1b79cb614c476572"} device-1 | {"level":"info","message":"GET /devices/561da298-7098-4d9f-a659-e0614b6610f2? 200 15ms","method":"GET","requestID":"0e4f3e444204af3c1b79cb614c476572","responseTime":15,"status":200,"url":"/devices/561da298-7098-4d9f-a659-e0614b6610f2?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1MX0.TSszbCHUnaJnTPNCEtsU9DChf8w1RBpTbSs7PnDeTt4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8f708ceb08dafd0d4b6036db9c0cdca5","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:31Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.275469,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/430ab01f-45ac-45e0-a8ca-21b73e376c35","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/430ab01f-45ac-45e0-a8ca-21b73e376c35","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401751,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1MX0.TSszbCHUnaJnTPNCEtsU9DChf8w1RBpTbSs7PnDeTt4"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8f708ceb08dafd0d4b6036db9c0cdca5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F430ab01f-45ac-45e0-a8ca-21b73e376c35","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F430ab01f-45ac-45e0-a8ca-21b73e376c35","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:29.434705091Z"}]},"request_id":"6a6f194b-898b-4568-b000-a4ac5da474d9","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401751.506083} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8f708ceb08dafd0d4b6036db9c0cdca5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/430ab01f-45ac-45e0-a8ca-21b73e376c35? 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":"8f708ceb08dafd0d4b6036db9c0cdca5"} device-1 | {"level":"info","message":"GET /devices/430ab01f-45ac-45e0-a8ca-21b73e376c35? 200 18ms","method":"GET","requestID":"8f708ceb08dafd0d4b6036db9c0cdca5","responseTime":18,"status":200,"url":"/devices/430ab01f-45ac-45e0-a8ca-21b73e376c35?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1MX0.TSszbCHUnaJnTPNCEtsU9DChf8w1RBpTbSs7PnDeTt4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"37f08a94fa06d452aceb864220489675","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:31Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.113583,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401751,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1MX0.TSszbCHUnaJnTPNCEtsU9DChf8w1RBpTbSs7PnDeTt4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"37f08a94fa06d452aceb864220489675"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40d452da-394e-4ef5-ace9-855610cca066"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40d452da-394e-4ef5-ace9-855610cca066"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40d452da-394e-4ef5-ace9-855610cca066"},"level":"info","message":"Successfully booked experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:31Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:31Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.683406,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:31Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.432058,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/561da298-7098-4d9f-a659-e0614b6610f2","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/561da298-7098-4d9f-a659-e0614b6610f2","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401751,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1MX0.TSszbCHUnaJnTPNCEtsU9DChf8w1RBpTbSs7PnDeTt4"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b58cf810-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/430ab01f-45ac-45e0-a8ca-21b73e376c35","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/430ab01f-45ac-45e0-a8ca-21b73e376c35","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401751,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1MX0.TSszbCHUnaJnTPNCEtsU9DChf8w1RBpTbSs7PnDeTt4"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b58d1f20-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F561da298-7098-4d9f-a659-e0614b6610f2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F561da298-7098-4d9f-a659-e0614b6610f2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:29.388693085Z"}]},"request_id":"f0ecdeab-89b2-43b1-bd59-1102fb75b49b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401751.5837371} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b58cf810-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F430ab01f-45ac-45e0-a8ca-21b73e376c35","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F430ab01f-45ac-45e0-a8ca-21b73e376c35","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:29.434705091Z"}]},"request_id":"d98b3320-58f6-4e80-8498-5d16e2cea318","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401751.5856655} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b58d1f20-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/561da298-7098-4d9f-a659-e0614b6610f2? 200 24ms","method":"GET","requestID":"b58cf810-0636-11ef-8c83-05b823ec2e4f","responseTime":24,"status":200,"url":"/devices/561da298-7098-4d9f-a659-e0614b6610f2?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/430ab01f-45ac-45e0-a8ca-21b73e376c35? 200 24ms","method":"GET","requestID":"b58d1f20-0636-11ef-8c83-05b823ec2e4f","responseTime":24,"status":200,"url":"/devices/430ab01f-45ac-45e0-a8ca-21b73e376c35?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40d452da-394e-4ef5-ace9-855610cca066"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40d452da-394e-4ef5-ace9-855610cca066"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40d452da-394e-4ef5-ace9-855610cca066"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40d452da-394e-4ef5-ace9-855610cca066"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40d452da-394e-4ef5-ace9-855610cca066"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40d452da-394e-4ef5-ace9-855610cca066"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40d452da-394e-4ef5-ace9-855610cca066"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40d452da-394e-4ef5-ace9-855610cca066"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40d452da-394e-4ef5-ace9-855610cca066"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:31Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.114419,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:31Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:31Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.229956,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:31Z"} authorization-1 | {"client_addr":"127.0.0.1:40220","level":"info","msg":"Received request.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/561da298-7098-4d9f-a659-e0614b6610f2","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/561da298-7098-4d9f-a659-e0614b6610f2","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401751,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1MX0.TSszbCHUnaJnTPNCEtsU9DChf8w1RBpTbSs7PnDeTt4"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b5981ba0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/430ab01f-45ac-45e0-a8ca-21b73e376c35","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/430ab01f-45ac-45e0-a8ca-21b73e376c35","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401751,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1MX0.TSszbCHUnaJnTPNCEtsU9DChf8w1RBpTbSs7PnDeTt4"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b59869c0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:40220","level":"info","msg":"Sent response.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.271051,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:31Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F561da298-7098-4d9f-a659-e0614b6610f2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ed1a5e70-5090-4c5e-98a4-72cb61319ed3","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401751.6515474} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/561da298-7098-4d9f-a659-e0614b6610f2","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/561da298-7098-4d9f-a659-e0614b6610f2","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b59890d0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/561da298-7098-4d9f-a659-e0614b6610f2/signaling 200 13ms","method":"POST","requestID":"b59890d0-0636-11ef-8c83-05b823ec2e4f","responseTime":13,"status":200,"url":"/devices/561da298-7098-4d9f-a659-e0614b6610f2/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:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F561da298-7098-4d9f-a659-e0614b6610f2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F561da298-7098-4d9f-a659-e0614b6610f2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:29.388693085Z"}]},"request_id":"2f519fbd-0102-48b8-bb58-b9c6b4ae5579","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401751.6579564} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b5981ba0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F430ab01f-45ac-45e0-a8ca-21b73e376c35","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F430ab01f-45ac-45e0-a8ca-21b73e376c35","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:29.434705091Z"}]},"request_id":"8a2996d6-6581-4b9c-ba57-7a7029b6f1af","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401751.659492} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b59869c0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F40d452da-394e-4ef5-ace9-855610cca066#owner@http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F40d452da-394e-4ef5-ace9-855610cca066","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"6bb0c58e-09b4-4be7-a6c1-5718b0f349a6","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401751.664735} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"90ab73af-3a40-4557-bf70-006911ebba1c","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401751.6650863} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"37f08a94fa06d452aceb864220489675"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} device-1 | {"level":"info","message":"GET /devices/561da298-7098-4d9f-a659-e0614b6610f2? 200 26ms","method":"GET","requestID":"b5981ba0-0636-11ef-8c83-05b823ec2e4f","responseTime":26,"status":200,"url":"/devices/561da298-7098-4d9f-a659-e0614b6610f2?"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F430ab01f-45ac-45e0-a8ca-21b73e376c35","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"98282598-5e79-4b05-9b1e-86e0ac97e44f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401751.6683645} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:31Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.117027,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:31Z"} device-1 | {"level":"info","message":"GET /devices/430ab01f-45ac-45e0-a8ca-21b73e376c35? 200 25ms","method":"GET","requestID":"b59869c0-0636-11ef-8c83-05b823ec2e4f","responseTime":25,"status":200,"url":"/devices/430ab01f-45ac-45e0-a8ca-21b73e376c35?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/430ab01f-45ac-45e0-a8ca-21b73e376c35","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/430ab01f-45ac-45e0-a8ca-21b73e376c35","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b59b28e0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/430ab01f-45ac-45e0-a8ca-21b73e376c35/signaling 200 12ms","method":"POST","requestID":"b59b28e0-0636-11ef-8c83-05b823ec2e4f","responseTime":12,"status":200,"url":"/devices/430ab01f-45ac-45e0-a8ca-21b73e376c35/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:31Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/40d452da-394e-4ef5-ace9-855610cca066","user":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"29/Apr/2024:14:42:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.165","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"37f08a94fa06d452aceb864220489675"} experiment-1 | {"level":"info","message":"POST /experiments? 201 158ms","method":"POST","requestID":"37f08a94fa06d452aceb864220489675","responseTime":158,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F561da298-7098-4d9f-a659-e0614b6610f2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"28d08d99-c5d0-4b3e-8f1a-c162dba5a4fe","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401751.6812756} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.51561,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/561da298-7098-4d9f-a659-e0614b6610f2","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/561da298-7098-4d9f-a659-e0614b6610f2","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1MX0.TSszbCHUnaJnTPNCEtsU9DChf8w1RBpTbSs7PnDeTt4","level":"info","message":"auth send jwt"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b59d24b0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"946176aca119f134ea8130bf8bc3d309","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/561da298-7098-4d9f-a659-e0614b6610f2/signaling 200 12ms","method":"POST","requestID":"b59d24b0-0636-11ef-8c83-05b823ec2e4f","responseTime":12,"status":200,"url":"/devices/561da298-7098-4d9f-a659-e0614b6610f2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:31Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.989454,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/561da298-7098-4d9f-a659-e0614b6610f2","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/561da298-7098-4d9f-a659-e0614b6610f2","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401751,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1MX0.TSszbCHUnaJnTPNCEtsU9DChf8w1RBpTbSs7PnDeTt4"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"946176aca119f134ea8130bf8bc3d309"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42: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:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F561da298-7098-4d9f-a659-e0614b6610f2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F561da298-7098-4d9f-a659-e0614b6610f2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:29.388693085Z"}]},"request_id":"ef771cb7-db47-44c5-8f0f-327a619a68d2","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401751.6982107} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"946176aca119f134ea8130bf8bc3d309"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F430ab01f-45ac-45e0-a8ca-21b73e376c35","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c1e04ad7-8b02-48e0-8518-909cb5a0b8b5","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401751.6985834} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.03048,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/430ab01f-45ac-45e0-a8ca-21b73e376c35","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/430ab01f-45ac-45e0-a8ca-21b73e376c35","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b59f6ea0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/561da298-7098-4d9f-a659-e0614b6610f2? 200 18ms","method":"GET","requestID":"946176aca119f134ea8130bf8bc3d309","responseTime":18,"status":200,"url":"/devices/561da298-7098-4d9f-a659-e0614b6610f2?"} gateway-1 | {"time_local":"29/Apr/2024:14:42:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/561da298-7098-4d9f-a659-e0614b6610f2? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"946176aca119f134ea8130bf8bc3d309"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/430ab01f-45ac-45e0-a8ca-21b73e376c35/signaling 200 15ms","method":"POST","requestID":"b59f6ea0-0636-11ef-8c83-05b823ec2e4f","responseTime":15,"status":200,"url":"/devices/430ab01f-45ac-45e0-a8ca-21b73e376c35/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40d452da-394e-4ef5-ace9-855610cca066"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40d452da-394e-4ef5-ace9-855610cca066"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"8c690340-eca2-48f8-9cd7-42003feaba2e"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"c5f73fb8-021b-4943-b76e-7624af4532e8"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"14e8aa29-af43-43d2-bfd2-ccd2f6dcf210"}]},"level":"info","message":"Built pairwise service configurations"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/561da298-7098-4d9f-a659-e0614b6610f2"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/430ab01f-45ac-45e0-a8ca-21b73e376c35"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1MX0.TSszbCHUnaJnTPNCEtsU9DChf8w1RBpTbSs7PnDeTt4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"26d86bfa9c2f460a547c39dfef4ab3d6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:31Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.694079,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:31Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401751,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1MX0.TSszbCHUnaJnTPNCEtsU9DChf8w1RBpTbSs7PnDeTt4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b5a22dc0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.675848,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/430ab01f-45ac-45e0-a8ca-21b73e376c35","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/430ab01f-45ac-45e0-a8ca-21b73e376c35","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401751,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1MX0.TSszbCHUnaJnTPNCEtsU9DChf8w1RBpTbSs7PnDeTt4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"26d86bfa9c2f460a547c39dfef4ab3d6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F430ab01f-45ac-45e0-a8ca-21b73e376c35","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F430ab01f-45ac-45e0-a8ca-21b73e376c35","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:29.434705091Z"}]},"request_id":"568d8d28-4ef1-4894-9530-80507622aa40","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401751.7187982} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"26d86bfa9c2f460a547c39dfef4ab3d6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/430ab01f-45ac-45e0-a8ca-21b73e376c35? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"26d86bfa9c2f460a547c39dfef4ab3d6"} device-1 | {"level":"info","message":"GET /devices/430ab01f-45ac-45e0-a8ca-21b73e376c35? 200 13ms","method":"GET","requestID":"26d86bfa9c2f460a547c39dfef4ab3d6","responseTime":13,"status":200,"url":"/devices/430ab01f-45ac-45e0-a8ca-21b73e376c35?"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","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%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"f9eb3cb5-ced9-4cd2-8c7e-0ca2729e43c4","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401751.7236435} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"67083162-668a-455a-b927-14e4ee358e00","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401751.7238774} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b5a22dc0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/98fbe058-8c05-4980-8bfe-709c15dcfb77'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/98fbe058-8c05-4980-8bfe-709c15dcfb77'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 45ms","method":"POST","requestID":"b5a22dc0-0636-11ef-8c83-05b823ec2e4f","responseTime":45,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40d452da-394e-4ef5-ace9-855610cca066"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:31Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F561da298-7098-4d9f-a659-e0614b6610f2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0d0432ff-56e3-4ec6-88a3-508267aac44e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401751.7879417} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.860914,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/561da298-7098-4d9f-a659-e0614b6610f2","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/561da298-7098-4d9f-a659-e0614b6610f2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b5ad9f70-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/561da298-7098-4d9f-a659-e0614b6610f2/signaling 200 9ms","method":"POST","requestID":"b5ad9f70-0636-11ef-8c83-05b823ec2e4f","responseTime":9,"status":200,"url":"/devices/561da298-7098-4d9f-a659-e0614b6610f2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:31Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F430ab01f-45ac-45e0-a8ca-21b73e376c35","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"32ac1c4e-bb3d-4d0c-9bd5-ca60becda28c","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401751.7992914} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.803803,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/430ab01f-45ac-45e0-a8ca-21b73e376c35","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/430ab01f-45ac-45e0-a8ca-21b73e376c35","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b5af4d20-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/430ab01f-45ac-45e0-a8ca-21b73e376c35/signaling 200 10ms","method":"POST","requestID":"b5af4d20-0636-11ef-8c83-05b823ec2e4f","responseTime":10,"status":200,"url":"/devices/430ab01f-45ac-45e0-a8ca-21b73e376c35/signaling"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/98fbe058-8c05-4980-8bfe-709c15dcfb77' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"98fbe058-8c05-4980-8bfe-709c15dcfb77","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fc120a49fa0b408693b56c5677b3b770","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/561da298-7098-4d9f-a659-e0614b6610f2"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/430ab01f-45ac-45e0-a8ca-21b73e376c35"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/98fbe058-8c05-4980-8bfe-709c15dcfb77"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"fc120a49fa0b408693b56c5677b3b770","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"fc120a49fa0b408693b56c5677b3b770"} device-1 | {"data":{"peerconnection":"98fbe058-8c05-4980-8bfe-709c15dcfb77","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"98fbe058-8c05-4980-8bfe-709c15dcfb77","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/98fbe058-8c05-4980-8bfe-709c15dcfb77' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"98fbe058-8c05-4980-8bfe-709c15dcfb77","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fbbf51eb4a02ff609591810ec29fbe39","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/561da298-7098-4d9f-a659-e0614b6610f2"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/430ab01f-45ac-45e0-a8ca-21b73e376c35"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/98fbe058-8c05-4980-8bfe-709c15dcfb77"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:32Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F98fbe058-8c05-4980-8bfe-709c15dcfb77","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5d540350-e2f8-4956-979c-22c86339084d","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401752.0117} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.40665,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/98fbe058-8c05-4980-8bfe-709c15dcfb77","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/98fbe058-8c05-4980-8bfe-709c15dcfb77","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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b5cfcd70-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/98fbe058-8c05-4980-8bfe-709c15dcfb77 200 9ms","method":"GET","requestID":"b5cfcd70-0636-11ef-8c83-05b823ec2e4f","responseTime":9,"status":200,"url":"/peerconnections/98fbe058-8c05-4980-8bfe-709c15dcfb77"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 30ms","method":"POST","requestID":"fbbf51eb4a02ff609591810ec29fbe39","responseTime":30,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.033","http_referrer":"","http_user_agent":"node-fetch","requestID":"fbbf51eb4a02ff609591810ec29fbe39"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:32Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F561da298-7098-4d9f-a659-e0614b6610f2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9f695781-ae66-4acc-be16-aa29693f529a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401752.0361762} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.496036,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/561da298-7098-4d9f-a659-e0614b6610f2","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/561da298-7098-4d9f-a659-e0614b6610f2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b5d39e00-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/561da298-7098-4d9f-a659-e0614b6610f2/signaling 200 9ms","method":"POST","requestID":"b5d39e00-0636-11ef-8c83-05b823ec2e4f","responseTime":9,"status":200,"url":"/devices/561da298-7098-4d9f-a659-e0614b6610f2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:32Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F430ab01f-45ac-45e0-a8ca-21b73e376c35","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"49caa58b-1bdc-4512-80b3-db324b2dd5b7","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401752.0478585} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.503994,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/430ab01f-45ac-45e0-a8ca-21b73e376c35","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/430ab01f-45ac-45e0-a8ca-21b73e376c35","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b5d54bb0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/430ab01f-45ac-45e0-a8ca-21b73e376c35/signaling 200 10ms","method":"POST","requestID":"b5d54bb0-0636-11ef-8c83-05b823ec2e4f","responseTime":10,"status":200,"url":"/devices/430ab01f-45ac-45e0-a8ca-21b73e376c35/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1Mn0.JoMWbqjbQ8_zxHknZ0AHk4Ac-5ktzN3oUZWuDwKLGm4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c9d54788582ea3000b6678754dcf1c8c","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/40d452da-394e-4ef5-ace9-855610cca066"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:32Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.219308,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/40d452da-394e-4ef5-ace9-855610cca066","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/40d452da-394e-4ef5-ace9-855610cca066","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401752,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1Mn0.JoMWbqjbQ8_zxHknZ0AHk4Ac-5ktzN3oUZWuDwKLGm4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c9d54788582ea3000b6678754dcf1c8c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/40d452da-394e-4ef5-ace9-855610cca066"} experiment-1 | {"level":"info","message":"GET /experiments/40d452da-394e-4ef5-ace9-855610cca066 200 16ms","method":"GET","requestID":"c9d54788582ea3000b6678754dcf1c8c","responseTime":16,"status":200,"url":"/experiments/40d452da-394e-4ef5-ace9-855610cca066"} gateway-1 | {"time_local":"29/Apr/2024:14:42:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/40d452da-394e-4ef5-ace9-855610cca066 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c9d54788582ea3000b6678754dcf1c8c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1Mn0.JoMWbqjbQ8_zxHknZ0AHk4Ac-5ktzN3oUZWuDwKLGm4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f25a482d792330448ca70deef37d4ab3","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/40d452da-394e-4ef5-ace9-855610cca066"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:32Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.154611,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:32Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/40d452da-394e-4ef5-ace9-855610cca066","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/40d452da-394e-4ef5-ace9-855610cca066","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401752,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1Mn0.JoMWbqjbQ8_zxHknZ0AHk4Ac-5ktzN3oUZWuDwKLGm4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f25a482d792330448ca70deef37d4ab3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40d452da-394e-4ef5-ace9-855610cca066"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:32Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.493957,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:32Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/98fbe058-8c05-4980-8bfe-709c15dcfb77","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:http://localhost/peerconnections/98fbe058-8c05-4980-8bfe-709c15dcfb77","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401752,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1Mn0.JoMWbqjbQ8_zxHknZ0AHk4Ac-5ktzN3oUZWuDwKLGm4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b5e2b930-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/98fbe058-8c05-4980-8bfe-709c15dcfb77' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/98fbe058-8c05-4980-8bfe-709c15dcfb77' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"98fbe058-8c05-4980-8bfe-709c15dcfb77","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F98fbe058-8c05-4980-8bfe-709c15dcfb77': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F98fbe058-8c05-4980-8bfe-709c15dcfb77","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"379daaaa-c2ea-40ce-9126-35777dac04ee","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401752.1553202} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d4f76068-f57c-4d63-823e-5b9a79ddc29e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401752.155856} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"6e71903b4b8121f0002c9be3a74636a5","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b5e2b930-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/561da298-7098-4d9f-a659-e0614b6610f2"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/430ab01f-45ac-45e0-a8ca-21b73e376c35"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/98fbe058-8c05-4980-8bfe-709c15dcfb77"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7869cd38459b66b4c9788f8599da5132","responseTime":3,"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/561da298-7098-4d9f-a659-e0614b6610f2"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/430ab01f-45ac-45e0-a8ca-21b73e376c35"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/98fbe058-8c05-4980-8bfe-709c15dcfb77"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"98fbe058-8c05-4980-8bfe-709c15dcfb77","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/98fbe058-8c05-4980-8bfe-709c15dcfb77 204 65ms","method":"DELETE","requestID":"b5e2b930-0636-11ef-8c83-05b823ec2e4f","responseTime":65,"status":204,"url":"/peerconnections/98fbe058-8c05-4980-8bfe-709c15dcfb77"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40d452da-394e-4ef5-ace9-855610cca066"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:32Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F561da298-7098-4d9f-a659-e0614b6610f2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"23ce0d52-5e55-4fd9-8bc3-5405f20a6158","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401752.2261822} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.868806,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/561da298-7098-4d9f-a659-e0614b6610f2","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/561da298-7098-4d9f-a659-e0614b6610f2","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b5f04dc0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/561da298-7098-4d9f-a659-e0614b6610f2/signaling 200 14ms","method":"POST","requestID":"b5f04dc0-0636-11ef-8c83-05b823ec2e4f","responseTime":14,"status":200,"url":"/devices/561da298-7098-4d9f-a659-e0614b6610f2/signaling"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F40d452da-394e-4ef5-ace9-855610cca066': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F40d452da-394e-4ef5-ace9-855610cca066","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"08d5ade7-c4a8-4db0-9120-3e1b3044c201","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401752.2370656} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f876fb98-2d9f-45db-8f40-cb4988c72f1e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401752.2378752} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f25a482d792330448ca70deef37d4ab3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:32Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F430ab01f-45ac-45e0-a8ca-21b73e376c35","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f81a241d-d8dc-4ddd-b2f3-1caa4d95711a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401752.246345} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.717538,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/430ab01f-45ac-45e0-a8ca-21b73e376c35","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/430ab01f-45ac-45e0-a8ca-21b73e376c35","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b5f30ce0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/430ab01f-45ac-45e0-a8ca-21b73e376c35/signaling 200 17ms","method":"POST","requestID":"b5f30ce0-0636-11ef-8c83-05b823ec2e4f","responseTime":17,"status":200,"url":"/devices/430ab01f-45ac-45e0-a8ca-21b73e376c35/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/40d452da-394e-4ef5-ace9-855610cca066"} gateway-1 | {"time_local":"29/Apr/2024:14:42:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/40d452da-394e-4ef5-ace9-855610cca066 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.192","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f25a482d792330448ca70deef37d4ab3"} experiment-1 | {"level":"info","message":"DELETE /experiments/40d452da-394e-4ef5-ace9-855610cca066 204 189ms","method":"DELETE","requestID":"f25a482d792330448ca70deef37d4ab3","responseTime":189,"status":204,"url":"/experiments/40d452da-394e-4ef5-ace9-855610cca066"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 145ms","method":"POST","requestID":"6e71903b4b8121f0002c9be3a74636a5","responseTime":145,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.151","http_referrer":"","http_user_agent":"node-fetch","requestID":"6e71903b4b8121f0002c9be3a74636a5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 143ms","method":"POST","requestID":"7869cd38459b66b4c9788f8599da5132","responseTime":143,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.151","http_referrer":"","http_user_agent":"node-fetch","requestID":"7869cd38459b66b4c9788f8599da5132"} gateway-1 | {"time_local":"29/Apr/2024:14:42:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2197","request_time":"0.862","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e8ae39857afa1af2cf030f47759e0549"} gateway-1 | {"time_local":"29/Apr/2024:14:42:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2062","request_time":"0.879","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8ad2eae6290bebb49f31fae22539f165"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1Mn0.JoMWbqjbQ8_zxHknZ0AHk4Ac-5ktzN3oUZWuDwKLGm4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 11ms","method":"GET","requestID":"5cb01f92989263ae3c7d102bab0ab393","responseTime":11,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:32Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.95227,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:32Z"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/561da298-7098-4d9f-a659-e0614b6610f2' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401752,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1Mn0.JoMWbqjbQ8_zxHknZ0AHk4Ac-5ktzN3oUZWuDwKLGm4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5cb01f92989263ae3c7d102bab0ab393"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/430ab01f-45ac-45e0-a8ca-21b73e376c35' 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:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04139d63-da31-4393-a6e5-2e97cab74bfd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"46c83fff-8cf6-4cea-a2f2-d5777190ce67","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401752.3434334} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5cb01f92989263ae3c7d102bab0ab393"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0d3b9029-ae5a-49e5-b124-595366cccc71","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401752.3485045} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5cb01f92989263ae3c7d102bab0ab393"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04139d63-da31-4393-a6e5-2e97cab74bfd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"69caff52-c535-4d90-b380-45fa6602b7e3","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401752.3590238} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"10b5a38d-4c49-442f-ac6e-d38db5743d73","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401752.3591988} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5cb01f92989263ae3c7d102bab0ab393"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04139d63-da31-4393-a6e5-2e97cab74bfd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04139d63-da31-4393-a6e5-2e97cab74bfd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:32.358991700Z"}]},"request_id":"7feed0d0-68ba-4777-b715-b1e0f0beed6f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401752.3636243} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5cb01f92989263ae3c7d102bab0ab393"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"5cb01f92989263ae3c7d102bab0ab393","responseTime":47,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2024:14:42:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"315","request_time":"0.061","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5cb01f92989263ae3c7d102bab0ab393"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1Mn0.JoMWbqjbQ8_zxHknZ0AHk4Ac-5ktzN3oUZWuDwKLGm4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4de39d56dc5eeea4b55d7e635a233f38","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:32Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.621176,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401752,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1Mn0.JoMWbqjbQ8_zxHknZ0AHk4Ac-5ktzN3oUZWuDwKLGm4"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4de39d56dc5eeea4b55d7e635a233f38"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c17a7b2-0e14-4622-88c9-071f7bea6b89","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e51969ac-3e39-45e4-abfb-ee8c0ce77025","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401752.3876045} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4de39d56dc5eeea4b55d7e635a233f38"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c5511d8b-46d5-412f-8894-b4c7d5b2b48b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401752.392137} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4de39d56dc5eeea4b55d7e635a233f38"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c17a7b2-0e14-4622-88c9-071f7bea6b89","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"2226ed7d-516c-4d89-a46c-550a9c5e7afa","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401752.4012465} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9cb755e5-3c64-49df-bede-a1ab47332f4e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401752.4014907} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4de39d56dc5eeea4b55d7e635a233f38"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c17a7b2-0e14-4622-88c9-071f7bea6b89","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c17a7b2-0e14-4622-88c9-071f7bea6b89","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:32.401221552Z"}]},"request_id":"20472529-c7a8-424b-80ef-bfc0dc4f613c","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401752.4055917} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4de39d56dc5eeea4b55d7e635a233f38"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 36ms","method":"POST","requestID":"4de39d56dc5eeea4b55d7e635a233f38","responseTime":37,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4de39d56dc5eeea4b55d7e635a233f38"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"c1b325136e5505b3347ea4475ad53a0b","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2024:14:42:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89/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":"c1b325136e5505b3347ea4475ad53a0b"} device-1 | {"level":"info","message":"OPTIONS /devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89/websocket 200 2ms","method":"OPTIONS","requestID":"c1b325136e5505b3347ea4475ad53a0b","responseTime":2,"status":200,"url":"/devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1NH0.Xs7ui19pcYIeeBqNRuic8eNIbjF3_2KfV4eBfFusNqc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"03ee086f30deccb825a93b286e3cee07","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:34Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.121903,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:34Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401754,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1NH0.Xs7ui19pcYIeeBqNRuic8eNIbjF3_2KfV4eBfFusNqc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"03ee086f30deccb825a93b286e3cee07"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89/websocket 200 26ms","method":"POST","requestID":"03ee086f30deccb825a93b286e3cee07","responseTime":26,"status":200,"url":"/devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89/websocket"} gateway-1 | {"time_local":"29/Apr/2024:14:42:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.034","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"03ee086f30deccb825a93b286e3cee07"} device-1 | {"level":"info","message":"device 'http://localhost/devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1NH0.Xs7ui19pcYIeeBqNRuic8eNIbjF3_2KfV4eBfFusNqc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"5a7c759b8141490676d6d814e0375e50","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:34Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.212979,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401754,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1NH0.Xs7ui19pcYIeeBqNRuic8eNIbjF3_2KfV4eBfFusNqc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5a7c759b8141490676d6d814e0375e50"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c17a7b2-0e14-4622-88c9-071f7bea6b89","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c17a7b2-0e14-4622-88c9-071f7bea6b89","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:32.401221552Z"}]},"request_id":"a6d7f27f-9b04-4da0-a118-b870f458253f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401754.4810023} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5a7c759b8141490676d6d814e0375e50"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89? 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":"5a7c759b8141490676d6d814e0375e50"} device-1 | {"level":"info","message":"GET /devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89? 200 18ms","method":"GET","requestID":"5a7c759b8141490676d6d814e0375e50","responseTime":18,"status":200,"url":"/devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1NH0.Xs7ui19pcYIeeBqNRuic8eNIbjF3_2KfV4eBfFusNqc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"5ea1a106854201d494c6fd3dec44356b","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:34Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.676978,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401754,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1NH0.Xs7ui19pcYIeeBqNRuic8eNIbjF3_2KfV4eBfFusNqc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5ea1a106854201d494c6fd3dec44356b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0c5118bf-92d2-421d-877d-7febbb359f52"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0c5118bf-92d2-421d-877d-7febbb359f52"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0c5118bf-92d2-421d-877d-7febbb359f52"},"level":"info","message":"Successfully booked experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:34Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:34Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.426067,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/04139d63-da31-4393-a6e5-2e97cab74bfd","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/04139d63-da31-4393-a6e5-2e97cab74bfd","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401754,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1NH0.Xs7ui19pcYIeeBqNRuic8eNIbjF3_2KfV4eBfFusNqc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b7536030-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.859247,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401754,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1NH0.Xs7ui19pcYIeeBqNRuic8eNIbjF3_2KfV4eBfFusNqc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b7538740-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04139d63-da31-4393-a6e5-2e97cab74bfd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04139d63-da31-4393-a6e5-2e97cab74bfd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:32.358991700Z"}]},"request_id":"24987777-07be-4f91-8413-93eb7a3032b2","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401754.5588324} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b7536030-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c17a7b2-0e14-4622-88c9-071f7bea6b89","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c17a7b2-0e14-4622-88c9-071f7bea6b89","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:32.401221552Z"}]},"request_id":"dd9b6ca5-5b80-42d9-b2f5-da163df49fdd","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401754.5605664} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b7538740-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/04139d63-da31-4393-a6e5-2e97cab74bfd? 200 22ms","method":"GET","requestID":"b7536030-0636-11ef-8c83-05b823ec2e4f","responseTime":22,"status":200,"url":"/devices/04139d63-da31-4393-a6e5-2e97cab74bfd?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89? 200 22ms","method":"GET","requestID":"b7538740-0636-11ef-8c83-05b823ec2e4f","responseTime":22,"status":200,"url":"/devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0c5118bf-92d2-421d-877d-7febbb359f52"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0c5118bf-92d2-421d-877d-7febbb359f52"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0c5118bf-92d2-421d-877d-7febbb359f52"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0c5118bf-92d2-421d-877d-7febbb359f52"},"level":"info","message":"Attempting to instantiate devices for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:34Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.183795,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:34Z"} authorization-1 | {"action":"instantiate","level":"info","message":"opa_check","object":"device:http://localhost/devices/04139d63-da31-4393-a6e5-2e97cab74bfd","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/04139d63-da31-4393-a6e5-2e97cab74bfd","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401754,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1NH0.Xs7ui19pcYIeeBqNRuic8eNIbjF3_2KfV4eBfFusNqc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"451","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b75eaad0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffad327d9-f488-494e-96b5-ddb2a834a98d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"d7d432ae-1747-4e95-88f3-17d9c04bdf45","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401754.6553106} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7a3c862f-5f4a-4627-b424-585414b04210","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401754.6557133} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b75eaad0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} device-1 | {"level":"info","message":"registering changed-callback for device 'http://localhost/devices/fad327d9-f488-494e-96b5-ddb2a834a98d' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postDevicesByDeviceId succeeded"} authentication-1 | {"level":"info","message":"POST /token 201 15ms","method":"POST","requestID":"b7656190-0636-11ef-99eb-2b47b3e42fba","responseTime":15,"status":201,"url":"/token"} device-1 | {"level":"info","message":"POST /devices/04139d63-da31-4393-a6e5-2e97cab74bfd?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 66ms","method":"POST","requestID":"b75eaad0-0636-11ef-8c83-05b823ec2e4f","responseTime":66,"status":201,"url":"/devices/04139d63-da31-4393-a6e5-2e97cab74bfd?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0c5118bf-92d2-421d-877d-7febbb359f52"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0c5118bf-92d2-421d-877d-7febbb359f52"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0c5118bf-92d2-421d-877d-7febbb359f52"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0c5118bf-92d2-421d-877d-7febbb359f52"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:34Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.941351,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:34Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0c5118bf-92d2-421d-877d-7febbb359f52"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fad327d9-f488-494e-96b5-ddb2a834a98d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/fad327d9-f488-494e-96b5-ddb2a834a98d","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401754,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1NH0.Xs7ui19pcYIeeBqNRuic8eNIbjF3_2KfV4eBfFusNqc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b76e8950-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Received request.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:34Z"} authorization-1 | {"client_addr":"127.0.0.1:36028","level":"info","msg":"Sent response.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.714226,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:34Z"} authorization-1 | {"client_addr":"127.0.0.1:40220","level":"info","msg":"Received request.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401754,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1NH0.Xs7ui19pcYIeeBqNRuic8eNIbjF3_2KfV4eBfFusNqc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b76ed770-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:40220","level":"info","msg":"Sent response.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.338086,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:34Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffad327d9-f488-494e-96b5-ddb2a834a98d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7bec5b79-36c2-46c6-b675-b5b458f42863","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401754.7349641} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fad327d9-f488-494e-96b5-ddb2a834a98d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fad327d9-f488-494e-96b5-ddb2a834a98d","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b76efe80-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffad327d9-f488-494e-96b5-ddb2a834a98d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffad327d9-f488-494e-96b5-ddb2a834a98d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:34.655269157Z"}]},"request_id":"3d90b54d-aec4-4497-a0db-285f109adeae","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401754.7379045} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b76e8950-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c17a7b2-0e14-4622-88c9-071f7bea6b89","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c17a7b2-0e14-4622-88c9-071f7bea6b89","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:32.401221552Z"}]},"request_id":"f5f4982b-84d0-4595-8215-42e32abc734b","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401754.7414453} device-1 | {"data":{"error":"MissingEntityError","message":"Could not find websocket connection for device fad327d9-f488-494e-96b5-ddb2a834a98d","method":"POST","stack":"MissingEntityError: Could not find websocket connection for device fad327d9-f488-494e-96b5-ddb2a834a98d\n at Object.postDevicesByDeviceIdSignaling (file:///usr/local/lib/node_modules/@crosslab/service-device/app/operations/devices/device/signaling/post.js:42:15)\n at async file:///usr/local/lib/node_modules/@crosslab/service-device/app/generated/routes.js:276:28","status":404,"url":"/devices/fad327d9-f488-494e-96b5-ddb2a834a98d/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"b76efe80-0636-11ef-8c83-05b823ec2e4f"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b76ed770-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"POST /devices/fad327d9-f488-494e-96b5-ddb2a834a98d/signaling 404 15ms","method":"POST","requestID":"b76efe80-0636-11ef-8c83-05b823ec2e4f","responseTime":15,"status":404,"url":"/devices/fad327d9-f488-494e-96b5-ddb2a834a98d/signaling"} experiment-1 | {"data":{"response":{"body":{"error":"MissingEntityError","message":"Could not find websocket connection for device fad327d9-f488-494e-96b5-ddb2a834a98d"},"status":404}},"level":"error","message":"Could not send status-update message"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0c5118bf-92d2-421d-877d-7febbb359f52#owner@http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0c5118bf-92d2-421d-877d-7febbb359f52","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"2fd6c62c-5692-4c40-acdb-2fd346dfc179","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401754.7478027} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aca2f212-a39f-4c54-8dd3-2fa07a8f04bd","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401754.7481873} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5ea1a106854201d494c6fd3dec44356b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/fad327d9-f488-494e-96b5-ddb2a834a98d? 200 26ms","method":"GET","requestID":"b76e8950-0636-11ef-8c83-05b823ec2e4f","responseTime":26,"status":200,"url":"/devices/fad327d9-f488-494e-96b5-ddb2a834a98d?"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:34Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89? 200 25ms","method":"GET","requestID":"b76ed770-0636-11ef-8c83-05b823ec2e4f","responseTime":25,"status":200,"url":"/devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89?"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c17a7b2-0e14-4622-88c9-071f7bea6b89","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aaedc705-a69f-4d74-9da9-a33612b847b1","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401754.75546} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.787555,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89","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/0c5118bf-92d2-421d-877d-7febbb359f52","user":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b771e4b0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} gateway-1 | {"time_local":"29/Apr/2024:14:42:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1107","request_time":"0.270","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5ea1a106854201d494c6fd3dec44356b"} experiment-1 | {"level":"info","message":"POST /experiments? 201 263ms","method":"POST","requestID":"5ea1a106854201d494c6fd3dec44356b","responseTime":263,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89/signaling 200 14ms","method":"POST","requestID":"b771e4b0-0636-11ef-8c83-05b823ec2e4f","responseTime":14,"status":200,"url":"/devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89/signaling"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ed2acec8acacb2d070b0f8ac12f47b30","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2024:14:42:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/fad327d9-f488-494e-96b5-ddb2a834a98d/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":"ed2acec8acacb2d070b0f8ac12f47b30"} device-1 | {"level":"info","message":"OPTIONS /devices/fad327d9-f488-494e-96b5-ddb2a834a98d/websocket 200 1ms","method":"OPTIONS","requestID":"ed2acec8acacb2d070b0f8ac12f47b30","responseTime":1,"status":200,"url":"/devices/fad327d9-f488-494e-96b5-ddb2a834a98d/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IkZ3RkhobzhpdnJ6S3VJa1hTYnc1OEJ3SDdWSUllVFdkcWJqQURwZ3YwektBVjVlc2h2THZaVDgtc2czekpCWFEwZjdFbElsdUc5MDFkejM3RDI0Y1BnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1Nn0.pqptv4wnOAFOPao5aBNQaADi6SRnFDnGpMaCkTJCyo0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a034e1f210a64451decec32ce61618df","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:36Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.263734,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/fad327d9-f488-494e-96b5-ddb2a834a98d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/fad327d9-f488-494e-96b5-ddb2a834a98d","object_type":"device","payload":{"admin":true,"edgeToken":"FwFHho8ivrzKuIkXSbw58BwH7VIIeTWdqbjADpgv0zKAV5eshvLvZT8-sg3zJBXQ0f7ElIluG901dz37D24cPg","iat":1714401756,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IkZ3RkhobzhpdnJ6S3VJa1hTYnc1OEJ3SDdWSUllVFdkcWJqQURwZ3YwektBVjVlc2h2THZaVDgtc2czekpCWFEwZjdFbElsdUc5MDFkejM3RDI0Y1BnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1Nn0.pqptv4wnOAFOPao5aBNQaADi6SRnFDnGpMaCkTJCyo0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a034e1f210a64451decec32ce61618df"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/fad327d9-f488-494e-96b5-ddb2a834a98d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.038","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a034e1f210a64451decec32ce61618df"} device-1 | {"level":"info","message":"POST /devices/fad327d9-f488-494e-96b5-ddb2a834a98d/websocket 200 31ms","method":"POST","requestID":"a034e1f210a64451decec32ce61618df","responseTime":31,"status":200,"url":"/devices/fad327d9-f488-494e-96b5-ddb2a834a98d/websocket"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/fad327d9-f488-494e-96b5-ddb2a834a98d' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"device 'http://localhost/devices/fad327d9-f488-494e-96b5-ddb2a834a98d' connected"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"46f6b42d8998aeab53c2a07b8bc48835","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/fad327d9-f488-494e-96b5-ddb2a834a98d"},"eventType":"device-changed"}},"level":"info","message":"received a callback"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1Nn0.2slnT87ooqNKss6kirwPjFkCEGIeB0tkSiqKm7ZAOeU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"b8d4de6016cae4dbcad20a7210338760","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:36Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.255151,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fad327d9-f488-494e-96b5-ddb2a834a98d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/fad327d9-f488-494e-96b5-ddb2a834a98d","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401756,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1Nn0.2slnT87ooqNKss6kirwPjFkCEGIeB0tkSiqKm7ZAOeU"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b8d4de6016cae4dbcad20a7210338760"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffad327d9-f488-494e-96b5-ddb2a834a98d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffad327d9-f488-494e-96b5-ddb2a834a98d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:34.655269157Z"}]},"request_id":"922498f9-96fc-481e-b839-18a1384fa9e8","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401756.8768163} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b8d4de6016cae4dbcad20a7210338760"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fad327d9-f488-494e-96b5-ddb2a834a98d? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b8d4de6016cae4dbcad20a7210338760"} device-1 | {"level":"info","message":"GET /devices/fad327d9-f488-494e-96b5-ddb2a834a98d? 200 21ms","method":"GET","requestID":"b8d4de6016cae4dbcad20a7210338760","responseTime":21,"status":200,"url":"/devices/fad327d9-f488-494e-96b5-ddb2a834a98d?"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 28ms","method":"POST","requestID":"46f6b42d8998aeab53c2a07b8bc48835","responseTime":28,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.032","http_referrer":"","http_user_agent":"node-fetch","requestID":"46f6b42d8998aeab53c2a07b8bc48835"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1Nn0.2slnT87ooqNKss6kirwPjFkCEGIeB0tkSiqKm7ZAOeU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c75e6d2cbb524566edefa253ecd2c8dd","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:36Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.266118,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401756,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1Nn0.2slnT87ooqNKss6kirwPjFkCEGIeB0tkSiqKm7ZAOeU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c75e6d2cbb524566edefa253ecd2c8dd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c17a7b2-0e14-4622-88c9-071f7bea6b89","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c17a7b2-0e14-4622-88c9-071f7bea6b89","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:32.401221552Z"}]},"request_id":"1e01a36f-6290-428b-b5cc-81fc279036d8","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401756.9035497} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c75e6d2cbb524566edefa253ecd2c8dd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"29/Apr/2024:14:42:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c75e6d2cbb524566edefa253ecd2c8dd"} device-1 | {"level":"info","message":"GET /devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89? 200 18ms","method":"GET","requestID":"c75e6d2cbb524566edefa253ecd2c8dd","responseTime":18,"status":200,"url":"/devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:39Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.164829,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fad327d9-f488-494e-96b5-ddb2a834a98d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/fad327d9-f488-494e-96b5-ddb2a834a98d","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401754,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1NH0.Xs7ui19pcYIeeBqNRuic8eNIbjF3_2KfV4eBfFusNqc"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba6e5bd0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:35064","level":"info","msg":"Received request.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:39Z"} authorization-1 | {"client_addr":"127.0.0.1:35064","level":"info","msg":"Sent response.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.053307,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401754,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1NH0.Xs7ui19pcYIeeBqNRuic8eNIbjF3_2KfV4eBfFusNqc"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba6ea9f0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffad327d9-f488-494e-96b5-ddb2a834a98d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffad327d9-f488-494e-96b5-ddb2a834a98d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:34.655269157Z"}]},"request_id":"ee9b205a-1295-4ac8-be0c-a67131b55671","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401759.7785635} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba6e5bd0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c17a7b2-0e14-4622-88c9-071f7bea6b89","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c17a7b2-0e14-4622-88c9-071f7bea6b89","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"},"timestamp":"2024-04-29T14:42:32.401221552Z"}]},"request_id":"6a29f51d-2c28-4281-b4db-707a513d8ee0","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401759.7800968} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba6ea9f0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/fad327d9-f488-494e-96b5-ddb2a834a98d? 200 31ms","method":"GET","requestID":"ba6e5bd0-0636-11ef-8c83-05b823ec2e4f","responseTime":31,"status":200,"url":"/devices/fad327d9-f488-494e-96b5-ddb2a834a98d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89? 200 30ms","method":"GET","requestID":"ba6ea9f0-0636-11ef-8c83-05b823ec2e4f","responseTime":30,"status":200,"url":"/devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:39Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffad327d9-f488-494e-96b5-ddb2a834a98d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"72ee2d36-f84c-4bc0-a35a-021bd9336917","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401759.7985487} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.706861,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fad327d9-f488-494e-96b5-ddb2a834a98d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fad327d9-f488-494e-96b5-ddb2a834a98d","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba73b300-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/fad327d9-f488-494e-96b5-ddb2a834a98d/signaling 200 14ms","method":"POST","requestID":"ba73b300-0636-11ef-8c83-05b823ec2e4f","responseTime":14,"status":200,"url":"/devices/fad327d9-f488-494e-96b5-ddb2a834a98d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:39Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c17a7b2-0e14-4622-88c9-071f7bea6b89","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f91de696-26eb-40e9-a2a8-2b499657f1bd","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401759.8157227} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.934431,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba764b10-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89/signaling 200 14ms","method":"POST","requestID":"ba764b10-0636-11ef-8c83-05b823ec2e4f","responseTime":14,"status":200,"url":"/devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0c5118bf-92d2-421d-877d-7febbb359f52"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0c5118bf-92d2-421d-877d-7febbb359f52"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"0f61cbf3-598b-4f08-9ec8-6255d1e3b153"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"e69cb4c7-357d-48f5-9870-48979d896a5d"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"9818e202-dc05-4f30-a3c5-fa4808fe96c4"}]},"level":"info","message":"Built pairwise service configurations"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/fad327d9-f488-494e-96b5-ddb2a834a98d"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:39Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.247253,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401754,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc1NH0.Xs7ui19pcYIeeBqNRuic8eNIbjF3_2KfV4eBfFusNqc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba790a30-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","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%2F01378e34-9bb3-4597-a403-023dd4874a12'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]}},"raw_response":{},"request_id":"6a88034b-52bd-4f5d-a0fe-3aef06b3fe92","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401759.8453841} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"72e9f243-ebaa-4706-a4ad-79cf093275b1","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401759.8456888} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba790a30-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/6346d4b1-f008-491b-b24b-70ce0f3963b5'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/6346d4b1-f008-491b-b24b-70ce0f3963b5'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 41ms","method":"POST","requestID":"ba790a30-0636-11ef-8c83-05b823ec2e4f","responseTime":41,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0c5118bf-92d2-421d-877d-7febbb359f52"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:39Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffad327d9-f488-494e-96b5-ddb2a834a98d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7a6dd1ec-8856-4f01-8551-91c1dd193ca9","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401759.9121943} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.087904,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fad327d9-f488-494e-96b5-ddb2a834a98d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fad327d9-f488-494e-96b5-ddb2a834a98d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba856640-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/fad327d9-f488-494e-96b5-ddb2a834a98d/signaling 200 9ms","method":"POST","requestID":"ba856640-0636-11ef-8c83-05b823ec2e4f","responseTime":9,"status":200,"url":"/devices/fad327d9-f488-494e-96b5-ddb2a834a98d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:39Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c17a7b2-0e14-4622-88c9-071f7bea6b89","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"110931c7-eb33-424c-9135-02b3d98d9ed7","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401759.922711} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.056329,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba86ece0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89/signaling 200 9ms","method":"POST","requestID":"ba86ece0-0636-11ef-8c83-05b823ec2e4f","responseTime":9,"status":200,"url":"/devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89/signaling"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/6346d4b1-f008-491b-b24b-70ce0f3963b5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6346d4b1-f008-491b-b24b-70ce0f3963b5","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d03da53a80a3bafc0d12ea329caa9f46","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/3c17a7b2-0e14-4622-88c9-071f7bea6b89"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/fad327d9-f488-494e-96b5-ddb2a834a98d"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/6346d4b1-f008-491b-b24b-70ce0f3963b5"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"d03da53a80a3bafc0d12ea329caa9f46","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"d03da53a80a3bafc0d12ea329caa9f46"} device-1 | {"data":{"peerconnection":"6346d4b1-f008-491b-b24b-70ce0f3963b5","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"6346d4b1-f008-491b-b24b-70ce0f3963b5","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/6346d4b1-f008-491b-b24b-70ce0f3963b5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6346d4b1-f008-491b-b24b-70ce0f3963b5","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"829c7a32b9e34db1a3b79be62e2753ad","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/3c17a7b2-0e14-4622-88c9-071f7bea6b89"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/fad327d9-f488-494e-96b5-ddb2a834a98d"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/6346d4b1-f008-491b-b24b-70ce0f3963b5"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:40Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6346d4b1-f008-491b-b24b-70ce0f3963b5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f00407a0-8ce5-47f2-9d2e-379e26843a39","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401760.1179292} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.609161,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6346d4b1-f008-491b-b24b-70ce0f3963b5","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/6346d4b1-f008-491b-b24b-70ce0f3963b5","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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"baa4ae10-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/6346d4b1-f008-491b-b24b-70ce0f3963b5 200 10ms","method":"GET","requestID":"baa4ae10-0636-11ef-8c83-05b823ec2e4f","responseTime":10,"status":200,"url":"/peerconnections/6346d4b1-f008-491b-b24b-70ce0f3963b5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 31ms","method":"POST","requestID":"829c7a32b9e34db1a3b79be62e2753ad","responseTime":31,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.033","http_referrer":"","http_user_agent":"node-fetch","requestID":"829c7a32b9e34db1a3b79be62e2753ad"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:40Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c17a7b2-0e14-4622-88c9-071f7bea6b89","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8b4adb8d-8667-494c-ab30-bf6322f22d2e","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401760.143125} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.462517,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"baa87ea0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89/signaling 200 11ms","method":"POST","requestID":"baa87ea0-0636-11ef-8c83-05b823ec2e4f","responseTime":11,"status":200,"url":"/devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:40Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffad327d9-f488-494e-96b5-ddb2a834a98d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d5addd15-4ae2-4de8-9992-48f2a5c46393","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401760.1572602} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.048048,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fad327d9-f488-494e-96b5-ddb2a834a98d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fad327d9-f488-494e-96b5-ddb2a834a98d","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"baaa7a70-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/fad327d9-f488-494e-96b5-ddb2a834a98d/signaling 200 12ms","method":"POST","requestID":"baaa7a70-0636-11ef-8c83-05b823ec2e4f","responseTime":12,"status":200,"url":"/devices/fad327d9-f488-494e-96b5-ddb2a834a98d/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc2MH0.u_XVrq1_J-Qir0xKugm9l0IOnrHLJWlkzbv4y5khPEg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8ba4ac105894a673c17ec9abac17be54","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/0c5118bf-92d2-421d-877d-7febbb359f52"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:40Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.101924,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0c5118bf-92d2-421d-877d-7febbb359f52","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/0c5118bf-92d2-421d-877d-7febbb359f52","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401760,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc2MH0.u_XVrq1_J-Qir0xKugm9l0IOnrHLJWlkzbv4y5khPEg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8ba4ac105894a673c17ec9abac17be54"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/0c5118bf-92d2-421d-877d-7febbb359f52"} experiment-1 | {"level":"info","message":"GET /experiments/0c5118bf-92d2-421d-877d-7febbb359f52 200 15ms","method":"GET","requestID":"8ba4ac105894a673c17ec9abac17be54","responseTime":15,"status":200,"url":"/experiments/0c5118bf-92d2-421d-877d-7febbb359f52"} gateway-1 | {"time_local":"29/Apr/2024:14:42:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/0c5118bf-92d2-421d-877d-7febbb359f52 HTTP/1.1","status": "200","body_bytes_sent":"1180","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8ba4ac105894a673c17ec9abac17be54"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc2MH0.u_XVrq1_J-Qir0xKugm9l0IOnrHLJWlkzbv4y5khPEg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9156b1072040ba48a4ec4a6c68b79a4a","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/0c5118bf-92d2-421d-877d-7febbb359f52"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:40Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.868426,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:40Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0c5118bf-92d2-421d-877d-7febbb359f52","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"experiment:http://localhost/experiments/0c5118bf-92d2-421d-877d-7febbb359f52","object_type":"experiment","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401760,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc2MH0.u_XVrq1_J-Qir0xKugm9l0IOnrHLJWlkzbv4y5khPEg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9156b1072040ba48a4ec4a6c68b79a4a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0c5118bf-92d2-421d-877d-7febbb359f52"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:40Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.847602,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:40Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6346d4b1-f008-491b-b24b-70ce0f3963b5","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"peerconnection:http://localhost/peerconnections/6346d4b1-f008-491b-b24b-70ce0f3963b5","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401760,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc2MH0.u_XVrq1_J-Qir0xKugm9l0IOnrHLJWlkzbv4y5khPEg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bab63a40-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/6346d4b1-f008-491b-b24b-70ce0f3963b5' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/6346d4b1-f008-491b-b24b-70ce0f3963b5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6346d4b1-f008-491b-b24b-70ce0f3963b5","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6346d4b1-f008-491b-b24b-70ce0f3963b5': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6346d4b1-f008-491b-b24b-70ce0f3963b5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"0b89b8a7-a6bc-4dca-89e4-6aba9764294a","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401760.2466242} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6a7d9c20-fe5e-43f2-9de3-4de6ff27b825","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401760.2470698} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d7b51399b741ea730cb876c8d87eed5e","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/fad327d9-f488-494e-96b5-ddb2a834a98d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6346d4b1-f008-491b-b24b-70ce0f3963b5"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"d06bea9ba9068bc22bf8b2e2ef6d3f6c","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bab63a40-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} 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/3c17a7b2-0e14-4622-88c9-071f7bea6b89"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/fad327d9-f488-494e-96b5-ddb2a834a98d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6346d4b1-f008-491b-b24b-70ce0f3963b5"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"6346d4b1-f008-491b-b24b-70ce0f3963b5","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/6346d4b1-f008-491b-b24b-70ce0f3963b5 204 51ms","method":"DELETE","requestID":"bab63a40-0636-11ef-8c83-05b823ec2e4f","responseTime":51,"status":204,"url":"/peerconnections/6346d4b1-f008-491b-b24b-70ce0f3963b5"} device-1 | {"level":"info","message":"deleteDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:40Z"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.762804,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:40Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"device:http://localhost/devices/fad327d9-f488-494e-96b5-ddb2a834a98d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12","object":"device:http://localhost/devices/fad327d9-f488-494e-96b5-ddb2a834a98d","object_type":"device","payload":{"admin":true,"edgeToken":"2k4oA3DsUdH9P1-NznOzVsp6dolgYMDy6D0Puh3k5fVh9FOAT0e9PXERxdkkPtnu7Y1Rvj7ta2DlURNl0Aom5Q","iat":1714401760,"sub":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12","subject_alt":"http://localhost/users/01378e34-9bb3-4597-a403-023dd4874a12"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzAxMzc4ZTM0LTliYjMtNDU5Ny1hNDAzLTAyM2RkNDg3NGExMiIsImVkZ2VUb2tlbiI6IjJrNG9BM0RzVWRIOVAxLU56bk96VnNwNmRvbGdZTUR5NkQwUHVoM2s1ZlZoOUZPQVQwZTlQWEVSeGRra1B0bnU3WTFSdmo3dGEyRGxVUk5sMEFvbTVRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNDQwMTc2MH0.u_XVrq1_J-Qir0xKugm9l0IOnrHLJWlkzbv4y5khPEg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"446","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"babe77a0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'device:http%3A%2F%2Flocalhost%2Fdevices%2Ffad327d9-f488-494e-96b5-ddb2a834a98d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffad327d9-f488-494e-96b5-ddb2a834a98d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"77f782d6-a623-4b9b-8075-99faaabe4c40","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401760.29761} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f6536baf-2d6d-4151-87f5-1318e48d41c1","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401760.2981386} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"194","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"babe77a0-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"deleteDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"DELETE /devices/fad327d9-f488-494e-96b5-ddb2a834a98d 204 33ms","method":"DELETE","requestID":"babe77a0-0636-11ef-8c83-05b823ec2e4f","responseTime":33,"status":204,"url":"/devices/fad327d9-f488-494e-96b5-ddb2a834a98d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0c5118bf-92d2-421d-877d-7febbb359f52"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:40Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c17a7b2-0e14-4622-88c9-071f7bea6b89","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"89992b91-f10d-465f-b242-852957c3dc78","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401760.3435826} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.88116,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89","object_type":"device","rebac_allow":false,"scope_allow":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","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bac6dc10-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89/signaling 200 13ms","method":"POST","requestID":"bac6dc10-0636-11ef-8c83-05b823ec2e4f","responseTime":13,"status":200,"url":"/devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89/signaling"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0c5118bf-92d2-421d-877d-7febbb359f52': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0c5118bf-92d2-421d-877d-7febbb359f52","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F01378e34-9bb3-4597-a403-023dd4874a12"}]},"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","writes":null},"raw_response":{},"request_id":"c350397b-1a04-4c84-812e-fbdedd7d1c1f","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401760.3520443} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"raw_response":{"authorization_model":{"id":"01HWN4TQ31YFYH2AKVZ8YV301N","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"271335c2-040e-4c45-ab42-c2cc11cb4605","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401760.3523366} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9156b1072040ba48a4ec4a6c68b79a4a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Received request.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-29T14:42:40Z"} authorization-1 | {"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51468","raw_request":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","contextual_tuples":null,"store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffad327d9-f488-494e-96b5-ddb2a834a98d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"afeb7984-6602-4232-bb60-21743ad51c92","store_id":"01HWN4TQ1X8ME2DAYQ9W75MG10","subsystem":"openfga","timestamp":1714401760.3573875} authorization-1 | {"client_addr":"127.0.0.1:36026","level":"info","msg":"Sent response.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.893336,"resp_status":200,"subsystem":"opa","time":"2024-04-29T14:42:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fad327d9-f488-494e-96b5-ddb2a834a98d","openfga":{"authorization_model_id":"01HWN4TQ31YFYH2AKVZ8YV301N","store":"01HWN4TQ1X8ME2DAYQ9W75MG10"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fad327d9-f488-494e-96b5-ddb2a834a98d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bac92600-0636-11ef-8c83-05b823ec2e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} 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/fad327d9-f488-494e-96b5-ddb2a834a98d/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"bac92600-0636-11ef-8c83-05b823ec2e4f"} device-1 | {"level":"info","message":"POST /devices/fad327d9-f488-494e-96b5-ddb2a834a98d/signaling 404 11ms","method":"POST","requestID":"bac92600-0636-11ef-8c83-05b823ec2e4f","responseTime":11,"status":404,"url":"/devices/fad327d9-f488-494e-96b5-ddb2a834a98d/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"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/0c5118bf-92d2-421d-877d-7febbb359f52"} gateway-1 | {"time_local":"29/Apr/2024:14:42:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/0c5118bf-92d2-421d-877d-7febbb359f52 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.201","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9156b1072040ba48a4ec4a6c68b79a4a"} experiment-1 | {"level":"info","message":"DELETE /experiments/0c5118bf-92d2-421d-877d-7febbb359f52 204 199ms","method":"DELETE","requestID":"9156b1072040ba48a4ec4a6c68b79a4a","responseTime":199,"status":204,"url":"/experiments/0c5118bf-92d2-421d-877d-7febbb359f52"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 166ms","method":"POST","requestID":"d7b51399b741ea730cb876c8d87eed5e","responseTime":166,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.169","http_referrer":"","http_user_agent":"node-fetch","requestID":"d7b51399b741ea730cb876c8d87eed5e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 165ms","method":"POST","requestID":"d06bea9ba9068bc22bf8b2e2ef6d3f6c","responseTime":165,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42: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.169","http_referrer":"","http_user_agent":"node-fetch","requestID":"d06bea9ba9068bc22bf8b2e2ef6d3f6c"} gateway-1 | {"time_local":"29/Apr/2024:14:42:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2197","request_time":"5.983","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"84ace4bd970747894df3fb5a4c6fe0ca"} gateway-1 | {"time_local":"29/Apr/2024:14:42:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1821","request_time":"3.590","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4dacd1915a5dba9746273508a8af605b"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/fad327d9-f488-494e-96b5-ddb2a834a98d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/fad327d9-f488-494e-96b5-ddb2a834a98d' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/3c17a7b2-0e14-4622-88c9-071f7bea6b89' closed"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fe2e2bb7f4403e62ef3ff5a2f68c4544","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","device":{"announcedAvailability":[],"connected":false,"description":"A JS test device","isPublic":true,"name":"JS Device 1","services":[],"type":"device","url":"http://localhost/devices/fad327d9-f488-494e-96b5-ddb2a834a98d"},"eventType":"device-changed"}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 410 3ms","method":"POST","requestID":"fe2e2bb7f4403e62ef3ff5a2f68c4544","responseTime":3,"status":410,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2024:14:42:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "410","body_bytes_sent":"5","request_time":"0.005","http_referrer":"","http_user_agent":"node-fetch","requestID":"fe2e2bb7f4403e62ef3ff5a2f68c4544"} federation-1 exited with code 0 authentication-1 exited with code 0 authorization-1 exited with code 0 experiment-1 exited with code 0 device-1 exited with code 0 gateway-1 exited with code 0