time="2024-07-09T08:54:02Z" level=warning msg="/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/integration-test/docker-compose.yaml: `version` is obsolete" 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-authentication-1 Creating Container integration-test-device-1 Creating Container integration-test-authorization-1 Created Container integration-test-gateway-1 Created Container integration-test-device-1 Created Container integration-test-federation-1 Created Container integration-test-authentication-1 Created Container integration-test-experiment-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"} federation-1 | {"level":"info","message":"Federation Service started successfully"} authentication-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authorization-1 | {"addrs":["localhost:3011"],"diagnostic-addrs":[],"level":"info","msg":"Initializing server.","subsystem":"opa","time":"2024-07-09T08:54:34Z"} authentication-1 | {"level":"info","message":"Authentication Service started successfully"} experiment-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} device-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} device-1 | {"level":"info","message":"Device Service started successfully"} experiment-1 | {"level":"info","message":"Experiment Service started successfully"} authorization-1 | {"client_addr":"127.0.0.1:57792","level":"info","msg":"Received request.","req_id":1,"req_method":"GET","req_path":"/","subsystem":"opa","time":"2024-07-09T08:54:34Z"} authorization-1 | {"client_addr":"127.0.0.1:57792","level":"info","msg":"Sent response.","req_id":1,"req_method":"GET","req_path":"/","resp_bytes":1424,"resp_duration":0.340671,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:34Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"๐Ÿงช experimental features enabled: []","subsystem":"openfga","timestamp":1720515274.696545} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"using 'memory' storage engine","subsystem":"openfga","timestamp":1720515274.6966329} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"warn","message":"authentication is disabled","subsystem":"openfga","timestamp":1720515274.6966565} 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":1720515274.6966763} 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":1720515274.6966965} 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":1720515274.6967406,"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":1720515274.6973283} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"HTTP server listening on 'localhost:3013'...","subsystem":"openfga","timestamp":1720515274.6982157} 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:35002","raw_request":{"name":"crosslab"},"raw_response":{"created_at":"2024-07-09T08:54:34.716882763Z","id":"01J2BB79YWFAF7EEQRGKQX73XT","name":"crosslab","updated_at":"2024-07-09T08:54:34.716882763Z"},"request_id":"b26997db-b17e-4166-8177-103541ce5a84","subsystem":"openfga","timestamp":1720515274.7169642} 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:35002","raw_request":{"schema_version":"1.1","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_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":"01J2BB7A06FFZ8K3PQF6133F83"},"request_id":"8a2db83b-4feb-4e08-bbc3-3b160259c0fd","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515274.7589092} authorization-1 | {"client_addr":"127.0.0.1:57792","level":"info","msg":"Received request.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","subsystem":"opa","time":"2024-07-09T08:54:34Z"} authorization-1 | {"client_addr":"127.0.0.1:57792","level":"info","msg":"Sent response.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","resp_bytes":0,"resp_duration":0.240084,"resp_status":204,"subsystem":"opa","time":"2024-07-09T08:54:34Z"} authorization-1 | {"level":"info","message":"Authorization Service started successfully"} authorization-1 | {"current_version":"0.54.0","download_opa":"https://openpolicyagent.org/downloads/v0.66.0/opa_linux_amd64","latest_version":"0.66.0","level":"info","msg":"OPA is out of date.","release_notes":"https://github.com/open-policy-agent/opa/releases/tag/v0.66.0","subsystem":"opa","time":"2024-07-09T08:54:34Z"} gateway-1 | {"time_local":"09/Jul/2024:08:54:40 +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.026","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"d69b13cf87454ea2ff85f195ee404fa1"} authentication-1 | {"level":"info","message":"HEAD /auth/status 200 17ms","method":"HEAD","requestID":"d69b13cf87454ea2ff85f195ee404fa1","responseTime":17,"status":200,"url":"/auth/status"} gateway-1 | {"time_local":"09/Jul/2024:08:54:40 +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.016","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"c3e4095a2fa9832fa8d97d7c553c7f2f"} device-1 | {"level":"info","message":"HEAD /device/status 200 11ms","method":"HEAD","requestID":"e0ed8890-3dd0-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/device/status"} gateway-1 | {"time_local":"09/Jul/2024:08:54:40 +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":"0074629834767d364cb07276073d2bd7"} 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":"0074629834767d364cb07276073d2bd7"},"httpVersion":"1.0","method":"HEAD","originalUrl":"/authorization/status","query":{},"url":"/authorization/status"},"res":{"statusCode":200},"responseTime":6}} gateway-1 | {"time_local":"09/Jul/2024:08:54:40 +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.018","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"cb184686f248edc6dcf5da6a700e2266"} federation-1 | {"level":"info","message":"HEAD /federation/status 200 11ms","method":"HEAD","requestID":"e0f4b480-3dd0-11ef-88a3-a5b9439f4f6b","responseTime":11,"status":200,"url":"/federation/status"} gateway-1 | {"time_local":"09/Jul/2024:08:54:40 +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":"07f0992dfb746cef069d2fa944d42ffc"} experiment-1 | {"level":"info","message":"HEAD /experiment/status 200 9ms","method":"HEAD","requestID":"e0f80fe0-3dd0-11ef-bea2-6bf0a570cf1a","responseTime":9,"status":200,"url":"/experiment/status"} gateway-1 | {"time_local":"09/Jul/2024:08:54:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /login HTTP/1.1","status": "201","body_bytes_sent":"88","request_time":"0.298","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a808176eb7f2d1f3fb58cba624d0b24c"} authentication-1 | {"level":"info","message":"POST /login 201 287ms","method":"POST","requestID":"a808176eb7f2d1f3fb58cba624d0b24c","responseTime":287,"status":201,"url":"/login"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI4NH0.Mw30s077vsfk4DBGbuj4RtoDTg-i_xV-bWehd1mwGNg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 23ms","method":"GET","requestID":"0a1b95b1f061b7d1e0f1230c23658334","responseTime":23,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:44Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.491377,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515284,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI4NH0.Mw30s077vsfk4DBGbuj4RtoDTg-i_xV-bWehd1mwGNg"} authorization-1 | {"level":"info","message":"POST /authorize 200 26ms","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":"0a1b95b1f061b7d1e0f1230c23658334"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":26}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d0da315-badb-48d2-9a20-db9eb34e2503","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"41ce55f5-cd74-4871-9889-a7032542f9a9","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515284.45868} 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":"0a1b95b1f061b7d1e0f1230c23658334"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4b64b414-29a8-4a83-98ec-f2ef6ed00fb2","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515284.4746952} 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":"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":"0a1b95b1f061b7d1e0f1230c23658334"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d0da315-badb-48d2-9a20-db9eb34e2503","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"23ae5b68-0422-4b7b-8049-000a330b2af9","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515284.5012302} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"96e78eb3-bff5-4c61-a225-a61b51fd5e14","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515284.5019078} 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":"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":"0a1b95b1f061b7d1e0f1230c23658334"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":30}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d0da315-badb-48d2-9a20-db9eb34e2503","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d0da315-badb-48d2-9a20-db9eb34e2503","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:44.501213400Z"}]},"request_id":"4825bf33-ae5f-43db-8bb9-3dcae6bf187b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515284.5107493} 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":"0a1b95b1f061b7d1e0f1230c23658334"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"09/Jul/2024:08:54:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.297","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0a1b95b1f061b7d1e0f1230c23658334"} device-1 | {"level":"info","message":"POST /devices? 201 252ms","method":"POST","requestID":"0a1b95b1f061b7d1e0f1230c23658334","responseTime":252,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI4NH0.Mw30s077vsfk4DBGbuj4RtoDTg-i_xV-bWehd1mwGNg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9ca35a1fd1e67a75bf13cf47ebd52d32","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:44Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.735344,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515284,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI4NH0.Mw30s077vsfk4DBGbuj4RtoDTg-i_xV-bWehd1mwGNg"} 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":"9ca35a1fd1e67a75bf13cf47ebd52d32"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3f719de-5105-404b-95b3-970ff5c43a20","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a1ab72d1-885d-4c7a-ac0f-7749f0516da0","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515284.567513} 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":"9ca35a1fd1e67a75bf13cf47ebd52d32"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"02ede8c5-4f27-4622-9892-8b53fde07875","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515284.578312} 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":"9ca35a1fd1e67a75bf13cf47ebd52d32"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3f719de-5105-404b-95b3-970ff5c43a20","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"bda96725-7b6e-46b5-b406-038cbc492de2","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515284.5955265} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"31e6abea-ea79-4047-a0ac-95fb11b4c49c","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515284.5957327} 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":"9ca35a1fd1e67a75bf13cf47ebd52d32"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3f719de-5105-404b-95b3-970ff5c43a20","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3f719de-5105-404b-95b3-970ff5c43a20","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:44.595510286Z"}]},"request_id":"8872b18a-67ad-4009-bb12-0ed259736f56","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515284.6068583} 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":"9ca35a1fd1e67a75bf13cf47ebd52d32"},"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":"09/Jul/2024:08:54:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.076","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9ca35a1fd1e67a75bf13cf47ebd52d32"} device-1 | {"level":"info","message":"POST /devices? 201 71ms","method":"POST","requestID":"9ca35a1fd1e67a75bf13cf47ebd52d32","responseTime":71,"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":"d325f2274a6ae5390f393ff3e2a879f4","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":"79da39e9123ac9443b64dd6c90799e65","responseTime":0,"status":200,"url":"/auth"} gateway-1 | {"time_local":"09/Jul/2024:08:54:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/f3f719de-5105-404b-95b3-970ff5c43a20/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.008","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d325f2274a6ae5390f393ff3e2a879f4"} device-1 | {"level":"info","message":"OPTIONS /devices/f3f719de-5105-404b-95b3-970ff5c43a20/websocket 200 1ms","method":"OPTIONS","requestID":"d325f2274a6ae5390f393ff3e2a879f4","responseTime":1,"status":200,"url":"/devices/f3f719de-5105-404b-95b3-970ff5c43a20/websocket"} gateway-1 | {"time_local":"09/Jul/2024:08:54:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/5d0da315-badb-48d2-9a20-db9eb34e2503/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":"79da39e9123ac9443b64dd6c90799e65"} device-1 | {"level":"info","message":"OPTIONS /devices/5d0da315-badb-48d2-9a20-db9eb34e2503/websocket 200 1ms","method":"OPTIONS","requestID":"79da39e9123ac9443b64dd6c90799e65","responseTime":1,"status":200,"url":"/devices/5d0da315-badb-48d2-9a20-db9eb34e2503/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI4N30.7Pn9akrKxC8rotPKGi3kSUG3SGxj4O652p0DQwE3JTY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 11ms","method":"GET","requestID":"66de5f394faead8aca47e9ddc54e912b","responseTime":11,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI4N30.7Pn9akrKxC8rotPKGi3kSUG3SGxj4O652p0DQwE3JTY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 9ms","method":"GET","requestID":"7780e33e7e50669550ac418ab92fab80","responseTime":9,"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:44070","level":"info","msg":"Received request.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.685638,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3f719de-5105-404b-95b3-970ff5c43a20","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/f3f719de-5105-404b-95b3-970ff5c43a20","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515287,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI4N30.7Pn9akrKxC8rotPKGi3kSUG3SGxj4O652p0DQwE3JTY"} 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":"66de5f394faead8aca47e9ddc54e912b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Received request.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Sent response.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.882484,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d0da315-badb-48d2-9a20-db9eb34e2503","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/5d0da315-badb-48d2-9a20-db9eb34e2503","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515287,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI4N30.7Pn9akrKxC8rotPKGi3kSUG3SGxj4O652p0DQwE3JTY"} 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":"7780e33e7e50669550ac418ab92fab80"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"09/Jul/2024:08:54:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5d0da315-badb-48d2-9a20-db9eb34e2503/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":"7780e33e7e50669550ac418ab92fab80"} device-1 | {"level":"info","message":"POST /devices/5d0da315-badb-48d2-9a20-db9eb34e2503/websocket 200 32ms","method":"POST","requestID":"7780e33e7e50669550ac418ab92fab80","responseTime":32,"status":200,"url":"/devices/5d0da315-badb-48d2-9a20-db9eb34e2503/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"09/Jul/2024:08:54:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f3f719de-5105-404b-95b3-970ff5c43a20/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.051","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"66de5f394faead8aca47e9ddc54e912b"} device-1 | {"level":"info","message":"POST /devices/f3f719de-5105-404b-95b3-970ff5c43a20/websocket 200 37ms","method":"POST","requestID":"66de5f394faead8aca47e9ddc54e912b","responseTime":37,"status":200,"url":"/devices/f3f719de-5105-404b-95b3-970ff5c43a20/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f3f719de-5105-404b-95b3-970ff5c43a20' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5d0da315-badb-48d2-9a20-db9eb34e2503' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI4N30.7Pn9akrKxC8rotPKGi3kSUG3SGxj4O652p0DQwE3JTY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"fce4b15132f049cb7546e6fb3e0aed74","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.938288,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d0da315-badb-48d2-9a20-db9eb34e2503","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/5d0da315-badb-48d2-9a20-db9eb34e2503","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515287,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI4N30.7Pn9akrKxC8rotPKGi3kSUG3SGxj4O652p0DQwE3JTY"} 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":"fce4b15132f049cb7546e6fb3e0aed74"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d0da315-badb-48d2-9a20-db9eb34e2503","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d0da315-badb-48d2-9a20-db9eb34e2503","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:44.501213400Z"}]},"request_id":"c2055697-dad1-4287-9c62-0b51fce3f780","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515287.133307} 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":"fce4b15132f049cb7546e6fb3e0aed74"},"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":"09/Jul/2024:08:54:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5d0da315-badb-48d2-9a20-db9eb34e2503? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fce4b15132f049cb7546e6fb3e0aed74"} device-1 | {"level":"info","message":"GET /devices/5d0da315-badb-48d2-9a20-db9eb34e2503? 200 29ms","method":"GET","requestID":"fce4b15132f049cb7546e6fb3e0aed74","responseTime":29,"status":200,"url":"/devices/5d0da315-badb-48d2-9a20-db9eb34e2503?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI4N30.7Pn9akrKxC8rotPKGi3kSUG3SGxj4O652p0DQwE3JTY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"59b721ce43104624d383cb041fe21342","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.402888,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3f719de-5105-404b-95b3-970ff5c43a20","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/f3f719de-5105-404b-95b3-970ff5c43a20","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515287,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI4N30.7Pn9akrKxC8rotPKGi3kSUG3SGxj4O652p0DQwE3JTY"} 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":"59b721ce43104624d383cb041fe21342"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3f719de-5105-404b-95b3-970ff5c43a20","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3f719de-5105-404b-95b3-970ff5c43a20","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:44.595510286Z"}]},"request_id":"5a8b772f-12f3-4f1e-834c-933382eee1fa","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515287.1682684} 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":"59b721ce43104624d383cb041fe21342"},"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":"09/Jul/2024:08:54:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f3f719de-5105-404b-95b3-970ff5c43a20? 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":"59b721ce43104624d383cb041fe21342"} device-1 | {"level":"info","message":"GET /devices/f3f719de-5105-404b-95b3-970ff5c43a20? 200 24ms","method":"GET","requestID":"59b721ce43104624d383cb041fe21342","responseTime":24,"status":200,"url":"/devices/f3f719de-5105-404b-95b3-970ff5c43a20?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI4N30.7Pn9akrKxC8rotPKGi3kSUG3SGxj4O652p0DQwE3JTY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"0b557c7aa74a8ac7ffcd2b1b7d58058d","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:44070","level":"info","msg":"Received request.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.817882,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515287,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI4N30.7Pn9akrKxC8rotPKGi3kSUG3SGxj4O652p0DQwE3JTY"} 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":"0b557c7aa74a8ac7ffcd2b1b7d58058d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4fbfb678-4d71-435a-b6a5-99296943e7a9"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4fbfb678-4d71-435a-b6a5-99296943e7a9"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4fbfb678-4d71-435a-b6a5-99296943e7a9"},"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:44070","level":"info","msg":"Received request.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.690409,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Received request.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d0da315-badb-48d2-9a20-db9eb34e2503","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/5d0da315-badb-48d2-9a20-db9eb34e2503","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515287,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI4N30.7Pn9akrKxC8rotPKGi3kSUG3SGxj4O652p0DQwE3JTY"} 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":"e4dd1240-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Sent response.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.701122,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3f719de-5105-404b-95b3-970ff5c43a20","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/f3f719de-5105-404b-95b3-970ff5c43a20","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515287,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI4N30.7Pn9akrKxC8rotPKGi3kSUG3SGxj4O652p0DQwE3JTY"} 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":"e4dd6060-3dd0-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d0da315-badb-48d2-9a20-db9eb34e2503","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d0da315-badb-48d2-9a20-db9eb34e2503","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:44.501213400Z"}]},"request_id":"3f5316e6-574a-47ce-94fc-d71420762c27","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515287.408635} 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":"e4dd1240-3dd0-11ef-ab4a-87fddd4f273f"},"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 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3f719de-5105-404b-95b3-970ff5c43a20","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3f719de-5105-404b-95b3-970ff5c43a20","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:44.595510286Z"}]},"request_id":"3cc11d83-2731-485f-813c-50dacc422146","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515287.4132051} device-1 | {"level":"info","message":"GET /devices/5d0da315-badb-48d2-9a20-db9eb34e2503? 200 18ms","method":"GET","requestID":"e4dd1240-3dd0-11ef-ab4a-87fddd4f273f","responseTime":18,"status":200,"url":"/devices/5d0da315-badb-48d2-9a20-db9eb34e2503?"} 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":"e4dd6060-3dd0-11ef-ab4a-87fddd4f273f"},"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/f3f719de-5105-404b-95b3-970ff5c43a20? 200 20ms","method":"GET","requestID":"e4dd6060-3dd0-11ef-ab4a-87fddd4f273f","responseTime":20,"status":200,"url":"/devices/f3f719de-5105-404b-95b3-970ff5c43a20?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4fbfb678-4d71-435a-b6a5-99296943e7a9"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4fbfb678-4d71-435a-b6a5-99296943e7a9"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4fbfb678-4d71-435a-b6a5-99296943e7a9"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4fbfb678-4d71-435a-b6a5-99296943e7a9"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4fbfb678-4d71-435a-b6a5-99296943e7a9"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4fbfb678-4d71-435a-b6a5-99296943e7a9"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4fbfb678-4d71-435a-b6a5-99296943e7a9"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4fbfb678-4d71-435a-b6a5-99296943e7a9"},"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/4fbfb678-4d71-435a-b6a5-99296943e7a9"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.958631,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Received request.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d0da315-badb-48d2-9a20-db9eb34e2503","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/5d0da315-badb-48d2-9a20-db9eb34e2503","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515287,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI4N30.7Pn9akrKxC8rotPKGi3kSUG3SGxj4O652p0DQwE3JTY"} 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":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e4eb9130-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Sent response.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.824755,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3f719de-5105-404b-95b3-970ff5c43a20","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/f3f719de-5105-404b-95b3-970ff5c43a20","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515287,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI4N30.7Pn9akrKxC8rotPKGi3kSUG3SGxj4O652p0DQwE3JTY"} 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":"e4ebdf50-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d0da315-badb-48d2-9a20-db9eb34e2503","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"71f42742-1680-42e8-84de-bb83df13ea56","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515287.5130544} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3f719de-5105-404b-95b3-970ff5c43a20","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3f719de-5105-404b-95b3-970ff5c43a20","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:44.595510286Z"}]},"request_id":"e5d27dfb-c8fb-408a-8c6c-b81cee718a8b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515287.5143378} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.935618,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d0da315-badb-48d2-9a20-db9eb34e2503","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5d0da315-badb-48d2-9a20-db9eb34e2503","object_type":"device","rebac_allow":false,"scope_allow":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":"e4ec2d70-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} 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":"e4ebdf50-3dd0-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d0da315-badb-48d2-9a20-db9eb34e2503","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d0da315-badb-48d2-9a20-db9eb34e2503","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:44.501213400Z"}]},"request_id":"13e0c41c-db26-4ae6-86ff-62615d2eca16","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515287.5186636} authorization-1 | {"level":"info","message":"POST /relations/query 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e4eb9130-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":13}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4fbfb678-4d71-435a-b6a5-99296943e7a9#owner@http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4fbfb678-4d71-435a-b6a5-99296943e7a9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"7c774e94-b360-4343-8584-51473e5f1892","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515287.52749} device-1 | {"level":"info","message":"POST /devices/5d0da315-badb-48d2-9a20-db9eb34e2503/signaling 200 35ms","method":"POST","requestID":"e4ec2d70-3dd0-11ef-ab4a-87fddd4f273f","responseTime":35,"status":200,"url":"/devices/5d0da315-badb-48d2-9a20-db9eb34e2503/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/f3f719de-5105-404b-95b3-970ff5c43a20? 200 38ms","method":"GET","requestID":"e4ebdf50-3dd0-11ef-ab4a-87fddd4f273f","responseTime":38,"status":200,"url":"/devices/f3f719de-5105-404b-95b3-970ff5c43a20?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ba241015-735f-4417-8615-f4b25f1158e0","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515287.5341191} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 32ms","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":"0b557c7aa74a8ac7ffcd2b1b7d58058d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":32}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/5d0da315-badb-48d2-9a20-db9eb34e2503? 200 47ms","method":"GET","requestID":"e4eb9130-3dd0-11ef-ab4a-87fddd4f273f","responseTime":47,"status":200,"url":"/devices/5d0da315-badb-48d2-9a20-db9eb34e2503?"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3f719de-5105-404b-95b3-970ff5c43a20","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0e2615c0-562b-4b55-b3c6-fa1a8d9dcebf","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515287.5402803} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.755609,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3f719de-5105-404b-95b3-970ff5c43a20","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f3f719de-5105-404b-95b3-970ff5c43a20","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"e4f220e0-3dd0-11ef-ab4a-87fddd4f273f"},"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/4fbfb678-4d71-435a-b6a5-99296943e7a9","user":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/f3f719de-5105-404b-95b3-970ff5c43a20/signaling 200 13ms","method":"POST","requestID":"e4f220e0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":13,"status":200,"url":"/devices/f3f719de-5105-404b-95b3-970ff5c43a20/signaling"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d0da315-badb-48d2-9a20-db9eb34e2503","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7af46f78-3c01-4868-9da7-22b94b20c1db","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515287.5498438} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.533743,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:47Z"} gateway-1 | {"time_local":"09/Jul/2024:08:54:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.369","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0b557c7aa74a8ac7ffcd2b1b7d58058d"} experiment-1 | {"level":"info","message":"POST /experiments? 201 347ms","method":"POST","requestID":"0b557c7aa74a8ac7ffcd2b1b7d58058d","responseTime":347,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d0da315-badb-48d2-9a20-db9eb34e2503","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5d0da315-badb-48d2-9a20-db9eb34e2503","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"e4f3a780-3dd0-11ef-ab4a-87fddd4f273f"},"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/5d0da315-badb-48d2-9a20-db9eb34e2503/signaling 200 12ms","method":"POST","requestID":"e4f3a780-3dd0-11ef-ab4a-87fddd4f273f","responseTime":12,"status":200,"url":"/devices/5d0da315-badb-48d2-9a20-db9eb34e2503/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI4N30.7Pn9akrKxC8rotPKGi3kSUG3SGxj4O652p0DQwE3JTY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d9b744a23ba7b3579c054c2bcc4dfaf9","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Received request.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3f719de-5105-404b-95b3-970ff5c43a20","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"da177331-2bf6-438e-b5d7-b2d1be0dfd09","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515287.5660734} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.175022,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3f719de-5105-404b-95b3-970ff5c43a20","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f3f719de-5105-404b-95b3-970ff5c43a20","object_type":"device","rebac_allow":false,"scope_allow":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":"e4f61880-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Sent response.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.571718,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d0da315-badb-48d2-9a20-db9eb34e2503","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/5d0da315-badb-48d2-9a20-db9eb34e2503","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515287,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI4N30.7Pn9akrKxC8rotPKGi3kSUG3SGxj4O652p0DQwE3JTY"} 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":"d9b744a23ba7b3579c054c2bcc4dfaf9"},"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/f3f719de-5105-404b-95b3-970ff5c43a20/signaling 200 13ms","method":"POST","requestID":"e4f61880-3dd0-11ef-ab4a-87fddd4f273f","responseTime":13,"status":200,"url":"/devices/f3f719de-5105-404b-95b3-970ff5c43a20/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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d0da315-badb-48d2-9a20-db9eb34e2503","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d0da315-badb-48d2-9a20-db9eb34e2503","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:44.501213400Z"}]},"request_id":"5bed3a59-71c2-4201-b69f-f1d8211cda13","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515287.5745256} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4fbfb678-4d71-435a-b6a5-99296943e7a9"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4fbfb678-4d71-435a-b6a5-99296943e7a9"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"eab2edfd-f5ef-4461-9b3e-3fc5bbfc8374"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"e4984014-e72c-424b-86ff-2dd17f6ed757"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"df86f087-b270-464e-a1c5-ac4c42ff72be"}]},"level":"info","message":"Built pairwise service configurations"} 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":"d9b744a23ba7b3579c054c2bcc4dfaf9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/5d0da315-badb-48d2-9a20-db9eb34e2503"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/f3f719de-5105-404b-95b3-970ff5c43a20"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"09/Jul/2024:08:54:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5d0da315-badb-48d2-9a20-db9eb34e2503? 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":"d9b744a23ba7b3579c054c2bcc4dfaf9"} device-1 | {"level":"info","message":"GET /devices/5d0da315-badb-48d2-9a20-db9eb34e2503? 200 17ms","method":"GET","requestID":"d9b744a23ba7b3579c054c2bcc4dfaf9","responseTime":17,"status":200,"url":"/devices/5d0da315-badb-48d2-9a20-db9eb34e2503?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI4N30.7Pn9akrKxC8rotPKGi3kSUG3SGxj4O652p0DQwE3JTY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0d12348c2daaf324ff188ef7bc222bca","responseTime":5,"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:44070","level":"info","msg":"Received request.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.868847,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515287,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI4N30.7Pn9akrKxC8rotPKGi3kSUG3SGxj4O652p0DQwE3JTY"} 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":"e4fa1020-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Received request.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Sent response.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.682232,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3f719de-5105-404b-95b3-970ff5c43a20","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/f3f719de-5105-404b-95b3-970ff5c43a20","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515287,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI4N30.7Pn9akrKxC8rotPKGi3kSUG3SGxj4O652p0DQwE3JTY"} 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":"0d12348c2daaf324ff188ef7bc222bca"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3f719de-5105-404b-95b3-970ff5c43a20","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3f719de-5105-404b-95b3-970ff5c43a20","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:44.595510286Z"}]},"request_id":"aaf3b953-7a8e-450d-962e-d47fdc2e52d2","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515287.5992875} 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":"0d12348c2daaf324ff188ef7bc222bca"},"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":"09/Jul/2024:08:54:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f3f719de-5105-404b-95b3-970ff5c43a20? 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":"0d12348c2daaf324ff188ef7bc222bca"} device-1 | {"level":"info","message":"GET /devices/f3f719de-5105-404b-95b3-970ff5c43a20? 200 14ms","method":"GET","requestID":"0d12348c2daaf324ff188ef7bc222bca","responseTime":14,"status":200,"url":"/devices/f3f719de-5105-404b-95b3-970ff5c43a20?"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","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%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"26417ee9-57e0-4404-a93a-4954d883684f","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515287.614608} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ec5565e3-4fb3-47d0-9345-a6663d61d720","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515287.6148424} 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":"e4fa1020-3dd0-11ef-ab4a-87fddd4f273f"},"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/af3a8b55-1fba-4255-b150-a938a029a6b7'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/af3a8b55-1fba-4255-b150-a938a029a6b7'"} 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":"e4fa1020-3dd0-11ef-ab4a-87fddd4f273f","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"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4fbfb678-4d71-435a-b6a5-99296943e7a9"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d0da315-badb-48d2-9a20-db9eb34e2503","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"67da7dfa-3928-45f5-9b7f-a5a567ca1cf0","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515287.6718314} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.446342,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d0da315-badb-48d2-9a20-db9eb34e2503","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5d0da315-badb-48d2-9a20-db9eb34e2503","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"e5064520-3dd0-11ef-ab4a-87fddd4f273f"},"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/5d0da315-badb-48d2-9a20-db9eb34e2503/signaling 200 10ms","method":"POST","requestID":"e5064520-3dd0-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/devices/5d0da315-badb-48d2-9a20-db9eb34e2503/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3f719de-5105-404b-95b3-970ff5c43a20","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ec99204f-ab5c-4502-84c2-6fe0e6dfb616","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515287.6853464} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.712347,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3f719de-5105-404b-95b3-970ff5c43a20","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f3f719de-5105-404b-95b3-970ff5c43a20","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"e5086800-3dd0-11ef-ab4a-87fddd4f273f"},"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/f3f719de-5105-404b-95b3-970ff5c43a20/signaling 200 11ms","method":"POST","requestID":"e5086800-3dd0-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/devices/f3f719de-5105-404b-95b3-970ff5c43a20/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/5d0da315-badb-48d2-9a20-db9eb34e2503'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/f3f719de-5105-404b-95b3-970ff5c43a20'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/af3a8b55-1fba-4255-b150-a938a029a6b7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"af3a8b55-1fba-4255-b150-a938a029a6b7","statusDeviceA":"new","statusDeviceB":"connecting"},"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":"f1eb05dc5bc406ec40a924a609b49da5","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/5d0da315-badb-48d2-9a20-db9eb34e2503"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/f3f719de-5105-404b-95b3-970ff5c43a20"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/af3a8b55-1fba-4255-b150-a938a029a6b7"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 12ms","method":"POST","requestID":"f1eb05dc5bc406ec40a924a609b49da5","responseTime":12,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:54: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.016","http_referrer":"","http_user_agent":"node-fetch","requestID":"f1eb05dc5bc406ec40a924a609b49da5"} device-1 | {"data":{"peerconnection":"af3a8b55-1fba-4255-b150-a938a029a6b7","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"af3a8b55-1fba-4255-b150-a938a029a6b7","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/af3a8b55-1fba-4255-b150-a938a029a6b7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"af3a8b55-1fba-4255-b150-a938a029a6b7","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":"04ba25210775c4a2fd754f3ad6c7b7c9","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/5d0da315-badb-48d2-9a20-db9eb34e2503"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f3f719de-5105-404b-95b3-970ff5c43a20"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/af3a8b55-1fba-4255-b150-a938a029a6b7"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Faf3a8b55-1fba-4255-b150-a938a029a6b7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5e652211-41d7-4079-b8fa-43606bd6ac62","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515287.800953} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.145848,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/af3a8b55-1fba-4255-b150-a938a029a6b7","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/af3a8b55-1fba-4255-b150-a938a029a6b7","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":"e51a1b40-3dd0-11ef-ab4a-87fddd4f273f"},"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/af3a8b55-1fba-4255-b150-a938a029a6b7 200 9ms","method":"GET","requestID":"e51a1b40-3dd0-11ef-ab4a-87fddd4f273f","responseTime":9,"status":200,"url":"/peerconnections/af3a8b55-1fba-4255-b150-a938a029a6b7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 33ms","method":"POST","requestID":"04ba25210775c4a2fd754f3ad6c7b7c9","responseTime":33,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:54: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.036","http_referrer":"","http_user_agent":"node-fetch","requestID":"04ba25210775c4a2fd754f3ad6c7b7c9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d0da315-badb-48d2-9a20-db9eb34e2503","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"35125488-c12b-43a9-ac34-8eb4ee221f4b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515287.829009} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.664311,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d0da315-badb-48d2-9a20-db9eb34e2503","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5d0da315-badb-48d2-9a20-db9eb34e2503","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI4N30.7Pn9akrKxC8rotPKGi3kSUG3SGxj4O652p0DQwE3JTY","level":"info","message":"auth send jwt"} 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":"e51e6100-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8f4b2eb572ac587e4f6efdb9b25c98a5","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/4fbfb678-4d71-435a-b6a5-99296943e7a9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/5d0da315-badb-48d2-9a20-db9eb34e2503/signaling 200 10ms","method":"POST","requestID":"e51e6100-3dd0-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/devices/5d0da315-badb-48d2-9a20-db9eb34e2503/signaling"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.764572,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:47Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4fbfb678-4d71-435a-b6a5-99296943e7a9","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/4fbfb678-4d71-435a-b6a5-99296943e7a9","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515287,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI4N30.7Pn9akrKxC8rotPKGi3kSUG3SGxj4O652p0DQwE3JTY"} 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":"8f4b2eb572ac587e4f6efdb9b25c98a5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3f719de-5105-404b-95b3-970ff5c43a20","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2f125d7f-b2f0-461d-b56a-6da2d83c778e","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515287.843779} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.232893,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3f719de-5105-404b-95b3-970ff5c43a20","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f3f719de-5105-404b-95b3-970ff5c43a20","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"e52083e0-3dd0-11ef-ab4a-87fddd4f273f"},"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/4fbfb678-4d71-435a-b6a5-99296943e7a9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/f3f719de-5105-404b-95b3-970ff5c43a20/signaling 200 11ms","method":"POST","requestID":"e52083e0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/devices/f3f719de-5105-404b-95b3-970ff5c43a20/signaling"} gateway-1 | {"time_local":"09/Jul/2024:08:54:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/4fbfb678-4d71-435a-b6a5-99296943e7a9 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8f4b2eb572ac587e4f6efdb9b25c98a5"} experiment-1 | {"level":"info","message":"GET /experiments/4fbfb678-4d71-435a-b6a5-99296943e7a9 200 18ms","method":"GET","requestID":"8f4b2eb572ac587e4f6efdb9b25c98a5","responseTime":18,"status":200,"url":"/experiments/4fbfb678-4d71-435a-b6a5-99296943e7a9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI4N30.7Pn9akrKxC8rotPKGi3kSUG3SGxj4O652p0DQwE3JTY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ad41fadfcd57e5d836057e0d0692f8d5","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/4fbfb678-4d71-435a-b6a5-99296943e7a9"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.316443,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4fbfb678-4d71-435a-b6a5-99296943e7a9","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/4fbfb678-4d71-435a-b6a5-99296943e7a9","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515287,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI4N30.7Pn9akrKxC8rotPKGi3kSUG3SGxj4O652p0DQwE3JTY"} 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":"ad41fadfcd57e5d836057e0d0692f8d5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4fbfb678-4d71-435a-b6a5-99296943e7a9"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.751607,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/af3a8b55-1fba-4255-b150-a938a029a6b7","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:http://localhost/peerconnections/af3a8b55-1fba-4255-b150-a938a029a6b7","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515287,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI4N30.7Pn9akrKxC8rotPKGi3kSUG3SGxj4O652p0DQwE3JTY"} 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":"e525b400-3dd0-11ef-ab4a-87fddd4f273f"},"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/af3a8b55-1fba-4255-b150-a938a029a6b7' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/af3a8b55-1fba-4255-b150-a938a029a6b7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"af3a8b55-1fba-4255-b150-a938a029a6b7","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":"24734a1946df48a485bb9342f2ee13d8","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":"connected","url":"http://localhost/devices/5d0da315-badb-48d2-9a20-db9eb34e2503"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/f3f719de-5105-404b-95b3-970ff5c43a20"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/af3a8b55-1fba-4255-b150-a938a029a6b7"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"beca783c9d99bbb49c916eb862252d2f","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5d0da315-badb-48d2-9a20-db9eb34e2503"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/f3f719de-5105-404b-95b3-970ff5c43a20"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/af3a8b55-1fba-4255-b150-a938a029a6b7"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Faf3a8b55-1fba-4255-b150-a938a029a6b7': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Faf3a8b55-1fba-4255-b150-a938a029a6b7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"2e75fc1d-1b75-4729-b807-b935de64791b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515287.8983552} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"71b8b32b-1ff4-44e9-8d82-ec248e07e9e0","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515287.8985584} 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":"e525b400-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} device-1 | {"data":{"peerconnection":"af3a8b55-1fba-4255-b150-a938a029a6b7","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/af3a8b55-1fba-4255-b150-a938a029a6b7 204 43ms","method":"DELETE","requestID":"e525b400-3dd0-11ef-ab4a-87fddd4f273f","responseTime":43,"status":204,"url":"/peerconnections/af3a8b55-1fba-4255-b150-a938a029a6b7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4fbfb678-4d71-435a-b6a5-99296943e7a9"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d0da315-badb-48d2-9a20-db9eb34e2503","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5d0988ee-256c-4283-9bf4-ee518ef2ac94","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515287.9434793} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.891113,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d0da315-badb-48d2-9a20-db9eb34e2503","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5d0da315-badb-48d2-9a20-db9eb34e2503","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"e52f29e0-3dd0-11ef-ab4a-87fddd4f273f"},"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/5d0da315-badb-48d2-9a20-db9eb34e2503/signaling 200 15ms","method":"POST","requestID":"e52f29e0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":15,"status":200,"url":"/devices/5d0da315-badb-48d2-9a20-db9eb34e2503/signaling"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4fbfb678-4d71-435a-b6a5-99296943e7a9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4fbfb678-4d71-435a-b6a5-99296943e7a9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"e3d52b64-82dd-491d-9bd5-a9d515ebc877","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515287.9518802} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6b734b5b-00a7-4ba4-8796-7db2fac66d5b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515287.9521475} 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":"ad41fadfcd57e5d836057e0d0692f8d5"},"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:44070","level":"info","msg":"Received request.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3f719de-5105-404b-95b3-970ff5c43a20","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7838cf47-903e-4ca9-95bb-26e200f09f7d","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515287.9585154} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.985959,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3f719de-5105-404b-95b3-970ff5c43a20","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f3f719de-5105-404b-95b3-970ff5c43a20","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"e531e900-3dd0-11ef-ab4a-87fddd4f273f"},"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/f3f719de-5105-404b-95b3-970ff5c43a20/signaling 200 12ms","method":"POST","requestID":"e531e900-3dd0-11ef-ab4a-87fddd4f273f","responseTime":12,"status":200,"url":"/devices/f3f719de-5105-404b-95b3-970ff5c43a20/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/4fbfb678-4d71-435a-b6a5-99296943e7a9"} gateway-1 | {"time_local":"09/Jul/2024:08:54:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/4fbfb678-4d71-435a-b6a5-99296943e7a9 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.178","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ad41fadfcd57e5d836057e0d0692f8d5"} experiment-1 | {"level":"info","message":"DELETE /experiments/4fbfb678-4d71-435a-b6a5-99296943e7a9 204 177ms","method":"DELETE","requestID":"ad41fadfcd57e5d836057e0d0692f8d5","responseTime":177,"status":204,"url":"/experiments/4fbfb678-4d71-435a-b6a5-99296943e7a9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 145ms","method":"POST","requestID":"24734a1946df48a485bb9342f2ee13d8","responseTime":145,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:54: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":"24734a1946df48a485bb9342f2ee13d8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 145ms","method":"POST","requestID":"beca783c9d99bbb49c916eb862252d2f","responseTime":145,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:54: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":"beca783c9d99bbb49c916eb862252d2f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI4OH0.zIlTC-WZCeRfFIi-6GQzqSd78DyxwEZrvwygnqq86uM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b73811d6cdc1121f41cdd33292cbeb92","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"09/Jul/2024:08:54:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2646","request_time":"0.962","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d9fd0aa4ec64a3c5b481560b8a41cef8"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:48Z"} gateway-1 | {"time_local":"09/Jul/2024:08:54:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2646","request_time":"0.965","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c462ade5d621ec85d95c277f9245aeba"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.037179,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515288,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI4OH0.zIlTC-WZCeRfFIi-6GQzqSd78DyxwEZrvwygnqq86uM"} 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":"b73811d6cdc1121f41cdd33292cbeb92"},"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/f3f719de-5105-404b-95b3-970ff5c43a20' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/5d0da315-badb-48d2-9a20-db9eb34e2503' 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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb027f671-0496-4a61-b13f-4ab1e024431b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"eb8cbf68-57bb-4f75-b816-74ae0e1b5f0a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515288.0643373} 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":"b73811d6cdc1121f41cdd33292cbeb92"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5aa83b95-e192-4f9d-8db6-2ecd5697c39f","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515288.069869} 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":"b73811d6cdc1121f41cdd33292cbeb92"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb027f671-0496-4a61-b13f-4ab1e024431b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"c18bb139-1932-407e-b62a-7faf7fc49b3a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515288.080226} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bc29239c-b282-4c76-ab01-2b4d4f582d3b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515288.080492} 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":"b73811d6cdc1121f41cdd33292cbeb92"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb027f671-0496-4a61-b13f-4ab1e024431b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb027f671-0496-4a61-b13f-4ab1e024431b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:48.080212733Z"}]},"request_id":"3cd3aa99-564b-4b91-b220-5e39efe23b8b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515288.084397} 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":"b73811d6cdc1121f41cdd33292cbeb92"},"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":"09/Jul/2024:08:54: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.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b73811d6cdc1121f41cdd33292cbeb92"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"b73811d6cdc1121f41cdd33292cbeb92","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI4OH0.zIlTC-WZCeRfFIi-6GQzqSd78DyxwEZrvwygnqq86uM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5cf1dd84a7a4a99b083a937085f4b6e4","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:48Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.67423,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515288,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI4OH0.zIlTC-WZCeRfFIi-6GQzqSd78DyxwEZrvwygnqq86uM"} 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":"5cf1dd84a7a4a99b083a937085f4b6e4"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58f22ae6-9e59-41a3-8b37-4b417b779497","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ad576e3b-2a93-44f9-af47-110453303d22","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515288.1120007} 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":"5cf1dd84a7a4a99b083a937085f4b6e4"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0dbc3b5c-6fe6-4a3e-a54c-f59accfcb3fd","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515288.117828} 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":"5cf1dd84a7a4a99b083a937085f4b6e4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58f22ae6-9e59-41a3-8b37-4b417b779497","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"9be3a60d-75e1-4a01-b896-ad8d942d2a7e","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515288.129054} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c23a36b2-6f79-4a21-9c08-33e66ee8737f","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515288.1291127} 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":"5cf1dd84a7a4a99b083a937085f4b6e4"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58f22ae6-9e59-41a3-8b37-4b417b779497","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58f22ae6-9e59-41a3-8b37-4b417b779497","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:48.129043084Z"}]},"request_id":"578c30ea-e24d-49f0-bec5-1086cd51baf3","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515288.1350741} 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":"5cf1dd84a7a4a99b083a937085f4b6e4"},"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":"09/Jul/2024:08:54:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5cf1dd84a7a4a99b083a937085f4b6e4"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"5cf1dd84a7a4a99b083a937085f4b6e4","responseTime":42,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI4OH0.zIlTC-WZCeRfFIi-6GQzqSd78DyxwEZrvwygnqq86uM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"6c8142b79154b208cd7851ca276f42a4","responseTime":8,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:48Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.618806,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:48Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/58f22ae6-9e59-41a3-8b37-4b417b779497","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/58f22ae6-9e59-41a3-8b37-4b417b779497","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515288,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI4OH0.zIlTC-WZCeRfFIi-6GQzqSd78DyxwEZrvwygnqq86uM"} 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":"6c8142b79154b208cd7851ca276f42a4"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58f22ae6-9e59-41a3-8b37-4b417b779497","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58f22ae6-9e59-41a3-8b37-4b417b779497","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:48.129043084Z"}]},"request_id":"6b2001e5-b6af-411a-8e5c-7b1e6f77940a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515288.8222811} 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":"6c8142b79154b208cd7851ca276f42a4"},"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":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bac0641d-77b0-4758-98a6-c7588598e91f","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515288.8335388} 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":"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":"6c8142b79154b208cd7851ca276f42a4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58f22ae6-9e59-41a3-8b37-4b417b779497","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58f22ae6-9e59-41a3-8b37-4b417b779497","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:48.129043084Z"}]},"request_id":"eb4c6e91-fc0b-46a2-a5a5-fde1dcfaf5d4","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515288.8596418} 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":"6c8142b79154b208cd7851ca276f42a4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"09/Jul/2024:08:54:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/58f22ae6-9e59-41a3-8b37-4b417b779497 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.102","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"6c8142b79154b208cd7851ca276f42a4"} device-1 | {"level":"info","message":"PATCH /devices/58f22ae6-9e59-41a3-8b37-4b417b779497 200 88ms","method":"PATCH","requestID":"6c8142b79154b208cd7851ca276f42a4","responseTime":88,"status":200,"url":"/devices/58f22ae6-9e59-41a3-8b37-4b417b779497"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI4OH0.zIlTC-WZCeRfFIi-6GQzqSd78DyxwEZrvwygnqq86uM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f578aa385a1b9356e595989607fb7c38","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:48Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.927453,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:48Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/58f22ae6-9e59-41a3-8b37-4b417b779497","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/58f22ae6-9e59-41a3-8b37-4b417b779497","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515288,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI4OH0.zIlTC-WZCeRfFIi-6GQzqSd78DyxwEZrvwygnqq86uM"} 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":"f578aa385a1b9356e595989607fb7c38"},"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":"09/Jul/2024:08:54:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/58f22ae6-9e59-41a3-8b37-4b417b779497/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":"f578aa385a1b9356e595989607fb7c38"} device-1 | {"level":"info","message":"POST /devices/58f22ae6-9e59-41a3-8b37-4b417b779497/websocket 200 22ms","method":"POST","requestID":"f578aa385a1b9356e595989607fb7c38","responseTime":22,"status":200,"url":"/devices/58f22ae6-9e59-41a3-8b37-4b417b779497/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/58f22ae6-9e59-41a3-8b37-4b417b779497' 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":"2f3778a06e77100463ae9344d31f9764","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"09/Jul/2024:08:54:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b027f671-0496-4a61-b13f-4ab1e024431b/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.007","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2f3778a06e77100463ae9344d31f9764"} device-1 | {"level":"info","message":"OPTIONS /devices/b027f671-0496-4a61-b13f-4ab1e024431b/websocket 200 3ms","method":"OPTIONS","requestID":"2f3778a06e77100463ae9344d31f9764","responseTime":3,"status":200,"url":"/devices/b027f671-0496-4a61-b13f-4ab1e024431b/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5MH0.tBUrMq55FATu-aiyQU681C_k2d0f3VOo6j_yWz9qjtw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"39a19e5fcad65e35cf0416b9c3bbe374","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:50Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.260602,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:50Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b027f671-0496-4a61-b13f-4ab1e024431b","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/b027f671-0496-4a61-b13f-4ab1e024431b","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515290,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5MH0.tBUrMq55FATu-aiyQU681C_k2d0f3VOo6j_yWz9qjtw"} 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":"39a19e5fcad65e35cf0416b9c3bbe374"},"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":"09/Jul/2024:08:54:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b027f671-0496-4a61-b13f-4ab1e024431b/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":"39a19e5fcad65e35cf0416b9c3bbe374"} device-1 | {"level":"info","message":"POST /devices/b027f671-0496-4a61-b13f-4ab1e024431b/websocket 200 32ms","method":"POST","requestID":"39a19e5fcad65e35cf0416b9c3bbe374","responseTime":32,"status":200,"url":"/devices/b027f671-0496-4a61-b13f-4ab1e024431b/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b027f671-0496-4a61-b13f-4ab1e024431b' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5MH0.tBUrMq55FATu-aiyQU681C_k2d0f3VOo6j_yWz9qjtw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"132c8d48d22c28a75452d4ea1b5d9076","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:50Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.245057,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b027f671-0496-4a61-b13f-4ab1e024431b","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/b027f671-0496-4a61-b13f-4ab1e024431b","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515290,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5MH0.tBUrMq55FATu-aiyQU681C_k2d0f3VOo6j_yWz9qjtw"} 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":"132c8d48d22c28a75452d4ea1b5d9076"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb027f671-0496-4a61-b13f-4ab1e024431b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb027f671-0496-4a61-b13f-4ab1e024431b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:48.080212733Z"}]},"request_id":"1dc2c364-2753-4682-a8c1-15ea31002052","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515290.2518692} 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":"132c8d48d22c28a75452d4ea1b5d9076"},"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":"09/Jul/2024:08:54:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b027f671-0496-4a61-b13f-4ab1e024431b? 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":"132c8d48d22c28a75452d4ea1b5d9076"} device-1 | {"level":"info","message":"GET /devices/b027f671-0496-4a61-b13f-4ab1e024431b? 200 22ms","method":"GET","requestID":"132c8d48d22c28a75452d4ea1b5d9076","responseTime":22,"status":200,"url":"/devices/b027f671-0496-4a61-b13f-4ab1e024431b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5MH0.tBUrMq55FATu-aiyQU681C_k2d0f3VOo6j_yWz9qjtw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"528aae077c65478725574aae1398daa0","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:50Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.285502,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/58f22ae6-9e59-41a3-8b37-4b417b779497","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/58f22ae6-9e59-41a3-8b37-4b417b779497","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515290,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5MH0.tBUrMq55FATu-aiyQU681C_k2d0f3VOo6j_yWz9qjtw"} 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":"528aae077c65478725574aae1398daa0"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58f22ae6-9e59-41a3-8b37-4b417b779497","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58f22ae6-9e59-41a3-8b37-4b417b779497","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:48.129043084Z"}]},"request_id":"19fcda59-bab2-41e7-93dc-7680205237df","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515290.286716} 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":"528aae077c65478725574aae1398daa0"},"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":"09/Jul/2024:08:54:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/58f22ae6-9e59-41a3-8b37-4b417b779497? 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":"528aae077c65478725574aae1398daa0"} device-1 | {"level":"info","message":"GET /devices/58f22ae6-9e59-41a3-8b37-4b417b779497? 200 25ms","method":"GET","requestID":"528aae077c65478725574aae1398daa0","responseTime":25,"status":200,"url":"/devices/58f22ae6-9e59-41a3-8b37-4b417b779497?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5MH0.tBUrMq55FATu-aiyQU681C_k2d0f3VOo6j_yWz9qjtw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b5090c1b0ab815b8232a482c9de398f8","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:44070","level":"info","msg":"Received request.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:50Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.334655,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515290,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5MH0.tBUrMq55FATu-aiyQU681C_k2d0f3VOo6j_yWz9qjtw"} 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":"b5090c1b0ab815b8232a482c9de398f8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aca8f132-2d38-493b-b4a5-dd3f8d981a50"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aca8f132-2d38-493b-b4a5-dd3f8d981a50"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aca8f132-2d38-493b-b4a5-dd3f8d981a50"},"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:44070","level":"info","msg":"Received request.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:50Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.233571,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b027f671-0496-4a61-b13f-4ab1e024431b","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/b027f671-0496-4a61-b13f-4ab1e024431b","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515290,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5MH0.tBUrMq55FATu-aiyQU681C_k2d0f3VOo6j_yWz9qjtw"} 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":"e6a3ef90-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Received request.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:50Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Sent response.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.174018,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/58f22ae6-9e59-41a3-8b37-4b417b779497","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/58f22ae6-9e59-41a3-8b37-4b417b779497","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515290,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5MH0.tBUrMq55FATu-aiyQU681C_k2d0f3VOo6j_yWz9qjtw"} 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":"e6a48bd0-3dd0-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb027f671-0496-4a61-b13f-4ab1e024431b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb027f671-0496-4a61-b13f-4ab1e024431b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:48.080212733Z"}]},"request_id":"ec1d614f-ae27-42d1-b85f-4d2adaa830c1","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515290.3946855} 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":"e6a3ef90-3dd0-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58f22ae6-9e59-41a3-8b37-4b417b779497","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58f22ae6-9e59-41a3-8b37-4b417b779497","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:48.129043084Z"}]},"request_id":"973e136e-9bc4-476c-a331-28124e991c8f","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515290.3970673} 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":"e6a48bd0-3dd0-11ef-ab4a-87fddd4f273f"},"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/b027f671-0496-4a61-b13f-4ab1e024431b? 200 28ms","method":"GET","requestID":"e6a3ef90-3dd0-11ef-ab4a-87fddd4f273f","responseTime":28,"status":200,"url":"/devices/b027f671-0496-4a61-b13f-4ab1e024431b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/58f22ae6-9e59-41a3-8b37-4b417b779497? 200 28ms","method":"GET","requestID":"e6a48bd0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":28,"status":200,"url":"/devices/58f22ae6-9e59-41a3-8b37-4b417b779497?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aca8f132-2d38-493b-b4a5-dd3f8d981a50"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aca8f132-2d38-493b-b4a5-dd3f8d981a50"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aca8f132-2d38-493b-b4a5-dd3f8d981a50"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aca8f132-2d38-493b-b4a5-dd3f8d981a50"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aca8f132-2d38-493b-b4a5-dd3f8d981a50"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aca8f132-2d38-493b-b4a5-dd3f8d981a50"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aca8f132-2d38-493b-b4a5-dd3f8d981a50"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aca8f132-2d38-493b-b4a5-dd3f8d981a50"},"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:44070","level":"info","msg":"Received request.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:50Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.906406,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:50Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Received request.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:50Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aca8f132-2d38-493b-b4a5-dd3f8d981a50"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b027f671-0496-4a61-b13f-4ab1e024431b","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/b027f671-0496-4a61-b13f-4ab1e024431b","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515290,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5MH0.tBUrMq55FATu-aiyQU681C_k2d0f3VOo6j_yWz9qjtw"} 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":"e6b3a700-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Sent response.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.442559,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/58f22ae6-9e59-41a3-8b37-4b417b779497","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/58f22ae6-9e59-41a3-8b37-4b417b779497","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515290,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5MH0.tBUrMq55FATu-aiyQU681C_k2d0f3VOo6j_yWz9qjtw"} 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":"e6b41c30-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:50Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.510988,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:50Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb027f671-0496-4a61-b13f-4ab1e024431b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dbd9a313-256a-4e1b-8fa0-e079cf864f64","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515290.4986207} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b027f671-0496-4a61-b13f-4ab1e024431b","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b027f671-0496-4a61-b13f-4ab1e024431b","object_type":"device","rebac_allow":false,"scope_allow":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":"e6b4b870-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb027f671-0496-4a61-b13f-4ab1e024431b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb027f671-0496-4a61-b13f-4ab1e024431b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:48.080212733Z"}]},"request_id":"ed6bda59-138c-4c21-9dfd-8b83c51b5717","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515290.5053697} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58f22ae6-9e59-41a3-8b37-4b417b779497","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58f22ae6-9e59-41a3-8b37-4b417b779497","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:48.129043084Z"}]},"request_id":"8400fd82-ce48-43c8-a3fd-f2a75eea5990","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515290.5078201} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b027f671-0496-4a61-b13f-4ab1e024431b/signaling 200 27ms","method":"POST","requestID":"e6b4b870-3dd0-11ef-ab4a-87fddd4f273f","responseTime":27,"status":200,"url":"/devices/b027f671-0496-4a61-b13f-4ab1e024431b/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":"e6b3a700-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":11}} 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":"e6b41c30-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Faca8f132-2d38-493b-b4a5-dd3f8d981a50#owner@http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Faca8f132-2d38-493b-b4a5-dd3f8d981a50","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"c1d03e42-6464-4b55-932f-382b825444f1","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515290.5219727} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9db6cb9d-63f5-49d2-95dd-8e768d49f65d","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515290.5225134} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} 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":"b5090c1b0ab815b8232a482c9de398f8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":28}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:50Z"} device-1 | {"level":"info","message":"GET /devices/b027f671-0496-4a61-b13f-4ab1e024431b? 200 51ms","method":"GET","requestID":"e6b3a700-3dd0-11ef-ab4a-87fddd4f273f","responseTime":51,"status":200,"url":"/devices/b027f671-0496-4a61-b13f-4ab1e024431b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/58f22ae6-9e59-41a3-8b37-4b417b779497? 200 51ms","method":"GET","requestID":"e6b41c30-3dd0-11ef-ab4a-87fddd4f273f","responseTime":51,"status":200,"url":"/devices/58f22ae6-9e59-41a3-8b37-4b417b779497?"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58f22ae6-9e59-41a3-8b37-4b417b779497","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3d4a2345-7e83-4c5c-aa12-1efe92f52699","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515290.5342588} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.664077,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/58f22ae6-9e59-41a3-8b37-4b417b779497","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/58f22ae6-9e59-41a3-8b37-4b417b779497","object_type":"device","rebac_allow":false,"scope_allow":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":"e6ba5dc0-3dd0-11ef-ab4a-87fddd4f273f"},"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/58f22ae6-9e59-41a3-8b37-4b417b779497/signaling 200 20ms","method":"POST","requestID":"e6ba5dc0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":20,"status":200,"url":"/devices/58f22ae6-9e59-41a3-8b37-4b417b779497/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:50Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/aca8f132-2d38-493b-b4a5-dd3f8d981a50","user":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"09/Jul/2024:08:54:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.253","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b5090c1b0ab815b8232a482c9de398f8"} experiment-1 | {"level":"info","message":"POST /experiments? 201 244ms","method":"POST","requestID":"b5090c1b0ab815b8232a482c9de398f8","responseTime":244,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb027f671-0496-4a61-b13f-4ab1e024431b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ce9bcf65-2122-49e3-9a7b-3a760b72bf38","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515290.554576} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.388066,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b027f671-0496-4a61-b13f-4ab1e024431b","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b027f671-0496-4a61-b13f-4ab1e024431b","object_type":"device","rebac_allow":false,"scope_allow":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":"e6bdb920-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5MH0.tBUrMq55FATu-aiyQU681C_k2d0f3VOo6j_yWz9qjtw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c010bfa01033a8d31bc9964960fcf967","responseTime":5,"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/b027f671-0496-4a61-b13f-4ab1e024431b/signaling 200 22ms","method":"POST","requestID":"e6bdb920-3dd0-11ef-ab4a-87fddd4f273f","responseTime":22,"status":200,"url":"/devices/b027f671-0496-4a61-b13f-4ab1e024431b/signaling"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:50Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.202439,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b027f671-0496-4a61-b13f-4ab1e024431b","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/b027f671-0496-4a61-b13f-4ab1e024431b","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515290,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5MH0.tBUrMq55FATu-aiyQU681C_k2d0f3VOo6j_yWz9qjtw"} 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":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c010bfa01033a8d31bc9964960fcf967"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:50Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58f22ae6-9e59-41a3-8b37-4b417b779497","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"17609c52-c946-4606-83aa-b9ce7872709b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515290.5797424} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb027f671-0496-4a61-b13f-4ab1e024431b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb027f671-0496-4a61-b13f-4ab1e024431b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:48.080212733Z"}]},"request_id":"0980ac37-6552-4497-9ac1-82a0f590b4c7","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515290.5805423} 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":"c010bfa01033a8d31bc9964960fcf967"},"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:44070","level":"info","msg":"Sent response.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.127713,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/58f22ae6-9e59-41a3-8b37-4b417b779497","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/58f22ae6-9e59-41a3-8b37-4b417b779497","object_type":"device","rebac_allow":false,"scope_allow":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":"e6c1b0c0-3dd0-11ef-ab4a-87fddd4f273f"},"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":"09/Jul/2024:08:54:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b027f671-0496-4a61-b13f-4ab1e024431b? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c010bfa01033a8d31bc9964960fcf967"} device-1 | {"level":"info","message":"GET /devices/b027f671-0496-4a61-b13f-4ab1e024431b? 200 25ms","method":"GET","requestID":"c010bfa01033a8d31bc9964960fcf967","responseTime":25,"status":200,"url":"/devices/b027f671-0496-4a61-b13f-4ab1e024431b?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/58f22ae6-9e59-41a3-8b37-4b417b779497/signaling 200 20ms","method":"POST","requestID":"e6c1b0c0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":20,"status":200,"url":"/devices/58f22ae6-9e59-41a3-8b37-4b417b779497/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aca8f132-2d38-493b-b4a5-dd3f8d981a50"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aca8f132-2d38-493b-b4a5-dd3f8d981a50"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"4fb7f6aa-3632-494d-b3d6-4e3817a0c47a"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"45a1e425-cf78-4d7b-a4fb-d1db97a9341b"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"269ed912-4a7e-4384-90ee-8a28d58cdd34"}]},"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/58f22ae6-9e59-41a3-8b37-4b417b779497"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/b027f671-0496-4a61-b13f-4ab1e024431b"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5MH0.tBUrMq55FATu-aiyQU681C_k2d0f3VOo6j_yWz9qjtw","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"1e37d0ec9f7ba744280543116648a029","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:50Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.143923,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:50Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Received request.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515290,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5MH0.tBUrMq55FATu-aiyQU681C_k2d0f3VOo6j_yWz9qjtw"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","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":"e6c5cf70-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Sent response.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.342857,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/58f22ae6-9e59-41a3-8b37-4b417b779497","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/58f22ae6-9e59-41a3-8b37-4b417b779497","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515290,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5MH0.tBUrMq55FATu-aiyQU681C_k2d0f3VOo6j_yWz9qjtw"} 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":"1e37d0ec9f7ba744280543116648a029"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58f22ae6-9e59-41a3-8b37-4b417b779497","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58f22ae6-9e59-41a3-8b37-4b417b779497","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:48.129043084Z"}]},"request_id":"b39814a9-0ae7-412f-8f33-d3c4fca1ac5c","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515290.6198108} 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":"1e37d0ec9f7ba744280543116648a029"},"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":"09/Jul/2024:08:54:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/58f22ae6-9e59-41a3-8b37-4b417b779497? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1e37d0ec9f7ba744280543116648a029"} device-1 | {"level":"info","message":"GET /devices/58f22ae6-9e59-41a3-8b37-4b417b779497? 200 24ms","method":"GET","requestID":"1e37d0ec9f7ba744280543116648a029","responseTime":24,"status":200,"url":"/devices/58f22ae6-9e59-41a3-8b37-4b417b779497?"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","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%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"3209696e-5a70-4aba-a9b8-0aae3b4471d4","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515290.6277373} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2fa76777-92b7-4f18-a2d9-57eea83dd804","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515290.628248} 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":"e6c5cf70-3dd0-11ef-ab4a-87fddd4f273f"},"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/eba7a414-f266-41c9-8e81-ff700e62afd2'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/eba7a414-f266-41c9-8e81-ff700e62afd2'"} 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 51ms","method":"POST","requestID":"e6c5cf70-3dd0-11ef-ab4a-87fddd4f273f","responseTime":51,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aca8f132-2d38-493b-b4a5-dd3f8d981a50"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:50Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb027f671-0496-4a61-b13f-4ab1e024431b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"18552021-25c1-4137-b6c2-21143c24c297","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515290.7024722} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.037327,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b027f671-0496-4a61-b13f-4ab1e024431b","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b027f671-0496-4a61-b13f-4ab1e024431b","object_type":"device","rebac_allow":false,"scope_allow":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":"e6d49c80-3dd0-11ef-ab4a-87fddd4f273f"},"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/b027f671-0496-4a61-b13f-4ab1e024431b/signaling 200 12ms","method":"POST","requestID":"e6d49c80-3dd0-11ef-ab4a-87fddd4f273f","responseTime":12,"status":200,"url":"/devices/b027f671-0496-4a61-b13f-4ab1e024431b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:50Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58f22ae6-9e59-41a3-8b37-4b417b779497","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1ebb4128-e966-4932-ab79-c97c3f3c59b2","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515290.7152553} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.480485,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/58f22ae6-9e59-41a3-8b37-4b417b779497","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/58f22ae6-9e59-41a3-8b37-4b417b779497","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"e6d6bf60-3dd0-11ef-ab4a-87fddd4f273f"},"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/58f22ae6-9e59-41a3-8b37-4b417b779497/signaling 200 13ms","method":"POST","requestID":"e6d6bf60-3dd0-11ef-ab4a-87fddd4f273f","responseTime":13,"status":200,"url":"/devices/58f22ae6-9e59-41a3-8b37-4b417b779497/signaling"} device-1 | {"data":{"peerconnection":"eba7a414-f266-41c9-8e81-ff700e62afd2","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/eba7a414-f266-41c9-8e81-ff700e62afd2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"eba7a414-f266-41c9-8e81-ff700e62afd2","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":"b1334e78fefbc5520809eb359045aa57","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/58f22ae6-9e59-41a3-8b37-4b417b779497"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/b027f671-0496-4a61-b13f-4ab1e024431b"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/eba7a414-f266-41c9-8e81-ff700e62afd2"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 17ms","method":"POST","requestID":"b1334e78fefbc5520809eb359045aa57","responseTime":17,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:54:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch","requestID":"b1334e78fefbc5520809eb359045aa57"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/b027f671-0496-4a61-b13f-4ab1e024431b'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/b027f671-0496-4a61-b13f-4ab1e024431b'"} device-1 | {"data":{"peerconnection":"eba7a414-f266-41c9-8e81-ff700e62afd2","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"eba7a414-f266-41c9-8e81-ff700e62afd2","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/eba7a414-f266-41c9-8e81-ff700e62afd2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"eba7a414-f266-41c9-8e81-ff700e62afd2","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":"bc2cbbe9f2419e4663c88e9457993b9e","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/58f22ae6-9e59-41a3-8b37-4b417b779497"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b027f671-0496-4a61-b13f-4ab1e024431b"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/eba7a414-f266-41c9-8e81-ff700e62afd2"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:52Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Feba7a414-f266-41c9-8e81-ff700e62afd2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2df50c43-2c37-458c-81cb-1bf565ae0d03","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515292.7766232} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.110971,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/eba7a414-f266-41c9-8e81-ff700e62afd2","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/eba7a414-f266-41c9-8e81-ff700e62afd2","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":"e8111420-3dd0-11ef-ab4a-87fddd4f273f"},"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/eba7a414-f266-41c9-8e81-ff700e62afd2 200 11ms","method":"GET","requestID":"e8111420-3dd0-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/peerconnections/eba7a414-f266-41c9-8e81-ff700e62afd2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 42ms","method":"POST","requestID":"bc2cbbe9f2419e4663c88e9457993b9e","responseTime":42,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:54:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch","requestID":"bc2cbbe9f2419e4663c88e9457993b9e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:52Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58f22ae6-9e59-41a3-8b37-4b417b779497","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1374d0f1-dbf1-44ce-b0f4-be34cf62be76","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515292.8124983} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.379923,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/58f22ae6-9e59-41a3-8b37-4b417b779497","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/58f22ae6-9e59-41a3-8b37-4b417b779497","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"e816b970-3dd0-11ef-ab4a-87fddd4f273f"},"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/58f22ae6-9e59-41a3-8b37-4b417b779497/signaling 200 11ms","method":"POST","requestID":"e816b970-3dd0-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/devices/58f22ae6-9e59-41a3-8b37-4b417b779497/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:52Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb027f671-0496-4a61-b13f-4ab1e024431b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f709edcf-2905-4336-923f-a00a4e267e45","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515292.8286586} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.567139,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b027f671-0496-4a61-b13f-4ab1e024431b","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b027f671-0496-4a61-b13f-4ab1e024431b","object_type":"device","rebac_allow":false,"scope_allow":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":"e8190360-3dd0-11ef-ab4a-87fddd4f273f"},"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/b027f671-0496-4a61-b13f-4ab1e024431b/signaling 200 12ms","method":"POST","requestID":"e8190360-3dd0-11ef-ab4a-87fddd4f273f","responseTime":12,"status":200,"url":"/devices/b027f671-0496-4a61-b13f-4ab1e024431b/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5Mn0.mnhSUDRh--ogkPRXGRIs8We8CBowNVRT94OrKKhshCs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fcc2de6a316bd8f58662d7936a0b9341","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/aca8f132-2d38-493b-b4a5-dd3f8d981a50"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:52Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.926265,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/aca8f132-2d38-493b-b4a5-dd3f8d981a50","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/aca8f132-2d38-493b-b4a5-dd3f8d981a50","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515292,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5Mn0.mnhSUDRh--ogkPRXGRIs8We8CBowNVRT94OrKKhshCs"} 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":"fcc2de6a316bd8f58662d7936a0b9341"},"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/aca8f132-2d38-493b-b4a5-dd3f8d981a50"} gateway-1 | {"time_local":"09/Jul/2024:08:54:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/aca8f132-2d38-493b-b4a5-dd3f8d981a50 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fcc2de6a316bd8f58662d7936a0b9341"} experiment-1 | {"level":"info","message":"GET /experiments/aca8f132-2d38-493b-b4a5-dd3f8d981a50 200 21ms","method":"GET","requestID":"fcc2de6a316bd8f58662d7936a0b9341","responseTime":21,"status":200,"url":"/experiments/aca8f132-2d38-493b-b4a5-dd3f8d981a50"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5Mn0.mnhSUDRh--ogkPRXGRIs8We8CBowNVRT94OrKKhshCs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"9f45cc3dcc26a538e11dbee0f508c04e","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/aca8f132-2d38-493b-b4a5-dd3f8d981a50"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:52Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.221786,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:52Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/aca8f132-2d38-493b-b4a5-dd3f8d981a50","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/aca8f132-2d38-493b-b4a5-dd3f8d981a50","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515292,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5Mn0.mnhSUDRh--ogkPRXGRIs8We8CBowNVRT94OrKKhshCs"} 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":"9f45cc3dcc26a538e11dbee0f508c04e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aca8f132-2d38-493b-b4a5-dd3f8d981a50"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:52Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.257599,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:52Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/eba7a414-f266-41c9-8e81-ff700e62afd2","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:http://localhost/peerconnections/eba7a414-f266-41c9-8e81-ff700e62afd2","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515292,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5Mn0.mnhSUDRh--ogkPRXGRIs8We8CBowNVRT94OrKKhshCs"} 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":"e825d4a0-3dd0-11ef-ab4a-87fddd4f273f"},"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/eba7a414-f266-41c9-8e81-ff700e62afd2' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/eba7a414-f266-41c9-8e81-ff700e62afd2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"eba7a414-f266-41c9-8e81-ff700e62afd2","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":"457ae0789fe8f4eb5f9e777a91421f75","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Feba7a414-f266-41c9-8e81-ff700e62afd2': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Feba7a414-f266-41c9-8e81-ff700e62afd2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"7da45334-5263-4d23-8f73-a14a214b8ece","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515292.937762} 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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"689e22d2-e848-478c-b283-7e4ebfbe1aa5","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515292.938198} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e23097c9dde7f08c9f48a8c8cf809e69","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/58f22ae6-9e59-41a3-8b37-4b417b779497"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b027f671-0496-4a61-b13f-4ab1e024431b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/eba7a414-f266-41c9-8e81-ff700e62afd2"}}},"level":"info","message":"received a callback"} 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":"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":"e825d4a0-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} 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/58f22ae6-9e59-41a3-8b37-4b417b779497"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b027f671-0496-4a61-b13f-4ab1e024431b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/eba7a414-f266-41c9-8e81-ff700e62afd2"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"eba7a414-f266-41c9-8e81-ff700e62afd2","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/eba7a414-f266-41c9-8e81-ff700e62afd2 204 53ms","method":"DELETE","requestID":"e825d4a0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":53,"status":204,"url":"/peerconnections/eba7a414-f266-41c9-8e81-ff700e62afd2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aca8f132-2d38-493b-b4a5-dd3f8d981a50"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:52Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58f22ae6-9e59-41a3-8b37-4b417b779497","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7827230a-2748-40ba-a423-adf24c9cea3c","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515292.9984174} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.134671,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/58f22ae6-9e59-41a3-8b37-4b417b779497","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/58f22ae6-9e59-41a3-8b37-4b417b779497","object_type":"device","rebac_allow":false,"scope_allow":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":"e832a5e0-3dd0-11ef-ab4a-87fddd4f273f"},"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/58f22ae6-9e59-41a3-8b37-4b417b779497/signaling 200 16ms","method":"POST","requestID":"e832a5e0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":16,"status":200,"url":"/devices/58f22ae6-9e59-41a3-8b37-4b417b779497/signaling"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Faca8f132-2d38-493b-b4a5-dd3f8d981a50': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Faca8f132-2d38-493b-b4a5-dd3f8d981a50","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"30c9e3ac-c0ae-4fa5-9646-ab09797da020","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515293.0079103} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7dd04e7b-7f7b-4dba-8dc9-fd49ba9cce84","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515293.0085337} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} 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":"9f45cc3dcc26a538e11dbee0f508c04e"},"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:44070","level":"info","msg":"Received request.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:53Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb027f671-0496-4a61-b13f-4ab1e024431b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"26a9fe29-e682-45bc-aca4-bc681a7771d4","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515293.0205622} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.022261,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b027f671-0496-4a61-b13f-4ab1e024431b","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b027f671-0496-4a61-b13f-4ab1e024431b","object_type":"device","rebac_allow":false,"scope_allow":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":"e835da30-3dd0-11ef-ab4a-87fddd4f273f"},"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/b027f671-0496-4a61-b13f-4ab1e024431b/signaling 200 17ms","method":"POST","requestID":"e835da30-3dd0-11ef-ab4a-87fddd4f273f","responseTime":17,"status":200,"url":"/devices/b027f671-0496-4a61-b13f-4ab1e024431b/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/aca8f132-2d38-493b-b4a5-dd3f8d981a50"} gateway-1 | {"time_local":"09/Jul/2024:08:54:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/aca8f132-2d38-493b-b4a5-dd3f8d981a50 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.210","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9f45cc3dcc26a538e11dbee0f508c04e"} gateway-1 | {"time_local":"09/Jul/2024:08:54:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2991","request_time":"4.182","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"bc55508ad38ae886e85a8c483afa0ae1"} experiment-1 | {"level":"info","message":"DELETE /experiments/aca8f132-2d38-493b-b4a5-dd3f8d981a50 204 204ms","method":"DELETE","requestID":"9f45cc3dcc26a538e11dbee0f508c04e","responseTime":204,"status":204,"url":"/experiments/aca8f132-2d38-493b-b4a5-dd3f8d981a50"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 155ms","method":"POST","requestID":"457ae0789fe8f4eb5f9e777a91421f75","responseTime":155,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:54: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.162","http_referrer":"","http_user_agent":"node-fetch","requestID":"457ae0789fe8f4eb5f9e777a91421f75"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 153ms","method":"POST","requestID":"e23097c9dde7f08c9f48a8c8cf809e69","responseTime":153,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:54: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.163","http_referrer":"","http_user_agent":"node-fetch","requestID":"e23097c9dde7f08c9f48a8c8cf809e69"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5M30.c_vmLlQXJu6b9WJE8bLWFU7d_PL4juEFB6bEd0cNu1g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"86dd1eba048bf0ca5de0fda7edf1de9a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"09/Jul/2024:08:54:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2501","request_time":"2.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":"09aaea498c4888e0c441a6bb62fe5c07"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:53Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.847634,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:53Z"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/58f22ae6-9e59-41a3-8b37-4b417b779497' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515293,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5M30.c_vmLlQXJu6b9WJE8bLWFU7d_PL4juEFB6bEd0cNu1g"} 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":"86dd1eba048bf0ca5de0fda7edf1de9a"},"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/b027f671-0496-4a61-b13f-4ab1e024431b' 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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb31ab7a4-ee50-4839-821c-80bc7f52fa9c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b89f08fe-4a8a-4e9f-b3de-970f9f1731e5","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515293.1222694} 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":"86dd1eba048bf0ca5de0fda7edf1de9a"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"862e302e-c3c7-45b6-9ecc-8208dc482629","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515293.1285636} 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":"86dd1eba048bf0ca5de0fda7edf1de9a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb31ab7a4-ee50-4839-821c-80bc7f52fa9c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"066b5232-d871-4284-89ed-fe7959c3e5f9","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515293.1408556} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"40fd9ff9-5112-4005-8dae-b331a3965f49","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515293.1410236} 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":"86dd1eba048bf0ca5de0fda7edf1de9a"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb31ab7a4-ee50-4839-821c-80bc7f52fa9c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb31ab7a4-ee50-4839-821c-80bc7f52fa9c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:53.140842606Z"}]},"request_id":"c99b1b40-2ffd-40ad-ba20-105eb940dcb7","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515293.1467636} 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":"86dd1eba048bf0ca5de0fda7edf1de9a"},"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":"09/Jul/2024:08:54:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"86dd1eba048bf0ca5de0fda7edf1de9a"} device-1 | {"level":"info","message":"POST /devices? 201 49ms","method":"POST","requestID":"86dd1eba048bf0ca5de0fda7edf1de9a","responseTime":49,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5M30.c_vmLlQXJu6b9WJE8bLWFU7d_PL4juEFB6bEd0cNu1g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d69baffece1c5de304f0e183a1aa9bf7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:53Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.786476,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515293,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5M30.c_vmLlQXJu6b9WJE8bLWFU7d_PL4juEFB6bEd0cNu1g"} 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":"d69baffece1c5de304f0e183a1aa9bf7"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01d0646d-d888-4dc0-91a7-f4c39f094d8d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6c187caf-4a54-4cc4-8d2c-559b20f55da2","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515293.1779416} 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":"d69baffece1c5de304f0e183a1aa9bf7"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"026dd56d-062f-4c3f-a28d-b6f630ee4038","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515293.1834114} 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":"d69baffece1c5de304f0e183a1aa9bf7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01d0646d-d888-4dc0-91a7-f4c39f094d8d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"ab49dad8-a4bc-4b3c-94a1-da1a840f2984","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515293.1954079} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1b0cd614-1659-47b4-9138-53de2ef13955","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515293.1956499} 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":"d69baffece1c5de304f0e183a1aa9bf7"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01d0646d-d888-4dc0-91a7-f4c39f094d8d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01d0646d-d888-4dc0-91a7-f4c39f094d8d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:53.195395674Z"}]},"request_id":"f86e672a-8118-4f17-a06e-27034ae4ad21","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515293.2007794} 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":"d69baffece1c5de304f0e183a1aa9bf7"},"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":"09/Jul/2024:08:54:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d69baffece1c5de304f0e183a1aa9bf7"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"d69baffece1c5de304f0e183a1aa9bf7","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5M30.c_vmLlQXJu6b9WJE8bLWFU7d_PL4juEFB6bEd0cNu1g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"c2760ade67c70ceff7900d9e59d9ca78","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:53Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.985892,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515293,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5M30.c_vmLlQXJu6b9WJE8bLWFU7d_PL4juEFB6bEd0cNu1g"} 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":"c2760ade67c70ceff7900d9e59d9ca78"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb31ab7a4-ee50-4839-821c-80bc7f52fa9c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb31ab7a4-ee50-4839-821c-80bc7f52fa9c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:53.140842606Z"}]},"request_id":"1031c636-55fc-403b-80f3-1b323e3989fc","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515293.6978993} 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":"c2760ade67c70ceff7900d9e59d9ca78"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e95c1f2d-05dd-4198-a328-a6d0e0353af4","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515293.7047808} 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":"c2760ade67c70ceff7900d9e59d9ca78"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb31ab7a4-ee50-4839-821c-80bc7f52fa9c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb31ab7a4-ee50-4839-821c-80bc7f52fa9c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:53.140842606Z"}]},"request_id":"6f448825-2694-4556-bea0-1202663d6eb5","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515293.7184234} 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":"c2760ade67c70ceff7900d9e59d9ca78"},"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/b31ab7a4-ee50-4839-821c-80bc7f52fa9c 200 37ms","method":"PATCH","requestID":"c2760ade67c70ceff7900d9e59d9ca78","responseTime":37,"status":200,"url":"/devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c"} gateway-1 | {"time_local":"09/Jul/2024:08:54:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c 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":"c2760ade67c70ceff7900d9e59d9ca78"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5M30.c_vmLlQXJu6b9WJE8bLWFU7d_PL4juEFB6bEd0cNu1g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1b9624be70563a41b4dcf48d42399530","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:53Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.165572,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515293,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5M30.c_vmLlQXJu6b9WJE8bLWFU7d_PL4juEFB6bEd0cNu1g"} 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":"1b9624be70563a41b4dcf48d42399530"},"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":"09/Jul/2024:08:54:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c/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":"1b9624be70563a41b4dcf48d42399530"} device-1 | {"level":"info","message":"POST /devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c/websocket 200 20ms","method":"POST","requestID":"1b9624be70563a41b4dcf48d42399530","responseTime":20,"status":200,"url":"/devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c' 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":"c3f8c354aed0e6b887db3a3448e91235","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"09/Jul/2024:08:54:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d/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":"c3f8c354aed0e6b887db3a3448e91235"} device-1 | {"level":"info","message":"OPTIONS /devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d/websocket 200 1ms","method":"OPTIONS","requestID":"c3f8c354aed0e6b887db3a3448e91235","responseTime":1,"status":200,"url":"/devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5NX0.bcSrnwcIUtunmmAuVV_UPh1ZPBYpT-gh22bGDwqU_kM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ed48abc387cda3163a2e323981699521","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.884821,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:55Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515295,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5NX0.bcSrnwcIUtunmmAuVV_UPh1ZPBYpT-gh22bGDwqU_kM"} 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":"ed48abc387cda3163a2e323981699521"},"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/01d0646d-d888-4dc0-91a7-f4c39f094d8d/websocket 200 17ms","method":"POST","requestID":"ed48abc387cda3163a2e323981699521","responseTime":17,"status":200,"url":"/devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d/websocket"} gateway-1 | {"time_local":"09/Jul/2024:08:54:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d/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":"ed48abc387cda3163a2e323981699521"} device-1 | {"level":"info","message":"device 'http://localhost/devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5NX0.bcSrnwcIUtunmmAuVV_UPh1ZPBYpT-gh22bGDwqU_kM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8a672fcb3a82bd1eab8191e61833d989","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.967232,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515295,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5NX0.bcSrnwcIUtunmmAuVV_UPh1ZPBYpT-gh22bGDwqU_kM"} 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":"8a672fcb3a82bd1eab8191e61833d989"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb31ab7a4-ee50-4839-821c-80bc7f52fa9c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb31ab7a4-ee50-4839-821c-80bc7f52fa9c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:53.140842606Z"}]},"request_id":"51f7baa7-da4f-4f3c-a1cb-ed425f9f24ac","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515295.2702336} 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":"8a672fcb3a82bd1eab8191e61833d989"},"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":"09/Jul/2024:08:54:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c? 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":"8a672fcb3a82bd1eab8191e61833d989"} device-1 | {"level":"info","message":"GET /devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c? 200 13ms","method":"GET","requestID":"8a672fcb3a82bd1eab8191e61833d989","responseTime":13,"status":200,"url":"/devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5NX0.bcSrnwcIUtunmmAuVV_UPh1ZPBYpT-gh22bGDwqU_kM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cbe82af2561da5373d68fef4b2891c9d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.679411,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515295,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5NX0.bcSrnwcIUtunmmAuVV_UPh1ZPBYpT-gh22bGDwqU_kM"} 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":"cbe82af2561da5373d68fef4b2891c9d"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01d0646d-d888-4dc0-91a7-f4c39f094d8d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01d0646d-d888-4dc0-91a7-f4c39f094d8d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:53.195395674Z"}]},"request_id":"f9526081-67ba-43ee-ba2d-a67eeaed6069","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515295.2875423} 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":"cbe82af2561da5373d68fef4b2891c9d"},"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":"09/Jul/2024:08:54:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d? 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":"cbe82af2561da5373d68fef4b2891c9d"} device-1 | {"level":"info","message":"GET /devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d? 200 13ms","method":"GET","requestID":"cbe82af2561da5373d68fef4b2891c9d","responseTime":13,"status":200,"url":"/devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5NX0.bcSrnwcIUtunmmAuVV_UPh1ZPBYpT-gh22bGDwqU_kM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dd1da20f8c3686d334a90125e79a0eb3","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:44070","level":"info","msg":"Received request.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.703816,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515295,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5NX0.bcSrnwcIUtunmmAuVV_UPh1ZPBYpT-gh22bGDwqU_kM"} 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":"dd1da20f8c3686d334a90125e79a0eb3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4efd82ff-078e-4a60-b51d-f9447c0acb1c"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4efd82ff-078e-4a60-b51d-f9447c0acb1c"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4efd82ff-078e-4a60-b51d-f9447c0acb1c"},"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:44070","level":"info","msg":"Received request.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.625704,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515295,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5NX0.bcSrnwcIUtunmmAuVV_UPh1ZPBYpT-gh22bGDwqU_kM"} 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":"e998eca0-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Received request.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Sent response.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.912595,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515295,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5NX0.bcSrnwcIUtunmmAuVV_UPh1ZPBYpT-gh22bGDwqU_kM"} 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":"e99913b0-3dd0-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb31ab7a4-ee50-4839-821c-80bc7f52fa9c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb31ab7a4-ee50-4839-821c-80bc7f52fa9c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:53.140842606Z"}]},"request_id":"37804d48-1758-4819-ae66-5c19971bb8dd","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515295.3489802} 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":"e998eca0-3dd0-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01d0646d-d888-4dc0-91a7-f4c39f094d8d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01d0646d-d888-4dc0-91a7-f4c39f094d8d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:53.195395674Z"}]},"request_id":"680c52a6-7524-48f7-9478-33b744368c2d","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515295.3503647} 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":"e99913b0-3dd0-11ef-ab4a-87fddd4f273f"},"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/b31ab7a4-ee50-4839-821c-80bc7f52fa9c? 200 20ms","method":"GET","requestID":"e998eca0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":20,"status":200,"url":"/devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d? 200 22ms","method":"GET","requestID":"e99913b0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":22,"status":200,"url":"/devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4efd82ff-078e-4a60-b51d-f9447c0acb1c"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4efd82ff-078e-4a60-b51d-f9447c0acb1c"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4efd82ff-078e-4a60-b51d-f9447c0acb1c"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4efd82ff-078e-4a60-b51d-f9447c0acb1c"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4efd82ff-078e-4a60-b51d-f9447c0acb1c"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4efd82ff-078e-4a60-b51d-f9447c0acb1c"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4efd82ff-078e-4a60-b51d-f9447c0acb1c"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4efd82ff-078e-4a60-b51d-f9447c0acb1c"},"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/4efd82ff-078e-4a60-b51d-f9447c0acb1c"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.804613,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Received request.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515295,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5NX0.bcSrnwcIUtunmmAuVV_UPh1ZPBYpT-gh22bGDwqU_kM"} 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":"e9a4ac70-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Sent response.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.699993,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515295,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5NX0.bcSrnwcIUtunmmAuVV_UPh1ZPBYpT-gh22bGDwqU_kM"} 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":"e9a4fa90-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.349806,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:55Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb31ab7a4-ee50-4839-821c-80bc7f52fa9c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f534fe33-b09b-47c3-9cd1-9cc0a825aa33","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515295.4266944} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"e9a548b0-3dd0-11ef-ab4a-87fddd4f273f"},"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/b31ab7a4-ee50-4839-821c-80bc7f52fa9c/signaling 200 14ms","method":"POST","requestID":"e9a548b0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":14,"status":200,"url":"/devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c/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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01d0646d-d888-4dc0-91a7-f4c39f094d8d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01d0646d-d888-4dc0-91a7-f4c39f094d8d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:53.195395674Z"}]},"request_id":"ae83821c-2e12-4ad2-9f1d-ef2ba23827fd","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515295.432739} 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":"e9a4fa90-3dd0-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb31ab7a4-ee50-4839-821c-80bc7f52fa9c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb31ab7a4-ee50-4839-821c-80bc7f52fa9c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:53.140842606Z"}]},"request_id":"060544a9-0a1c-4ce0-afa9-878730ecc3a0","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515295.4343255} 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":"e9a4ac70-3dd0-11ef-ab4a-87fddd4f273f"},"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":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4efd82ff-078e-4a60-b51d-f9447c0acb1c#owner@http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4efd82ff-078e-4a60-b51d-f9447c0acb1c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"457d3960-a7f4-4894-90f5-1a3d867e3bed","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515295.4396062} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"36a69858-8bfe-4f26-b632-f0b738ebcee3","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515295.439863} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d? 200 26ms","method":"GET","requestID":"e9a4fa90-3dd0-11ef-ab4a-87fddd4f273f","responseTime":26,"status":200,"url":"/devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d?"} 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":"dd1da20f8c3686d334a90125e79a0eb3"},"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:44070","level":"info","msg":"Received request.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.300314,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:55Z"} device-1 | {"level":"info","message":"GET /devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c? 200 29ms","method":"GET","requestID":"e9a4ac70-3dd0-11ef-ab4a-87fddd4f273f","responseTime":29,"status":200,"url":"/devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c?"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01d0646d-d888-4dc0-91a7-f4c39f094d8d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e3f43285-42c4-4abe-901a-ea07ec6a1718","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515295.4426908} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"e9a807d0-3dd0-11ef-ab4a-87fddd4f273f"},"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/01d0646d-d888-4dc0-91a7-f4c39f094d8d/signaling 200 11ms","method":"POST","requestID":"e9a807d0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:55Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb31ab7a4-ee50-4839-821c-80bc7f52fa9c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1d8c9a3a-50cf-46db-b5b0-83a5537459cb","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515295.454665} experiment-1 | {"data":{"experiment":"http://localhost/experiments/4efd82ff-078e-4a60-b51d-f9447c0acb1c","user":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.71533,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:55Z"} gateway-1 | {"time_local":"09/Jul/2024:08:54:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.161","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dd1da20f8c3686d334a90125e79a0eb3"} experiment-1 | {"level":"info","message":"POST /experiments? 201 157ms","method":"POST","requestID":"dd1da20f8c3686d334a90125e79a0eb3","responseTime":157,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"e9a9dc90-3dd0-11ef-ab4a-87fddd4f273f"},"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/b31ab7a4-ee50-4839-821c-80bc7f52fa9c/signaling 200 11ms","method":"POST","requestID":"e9a9dc90-3dd0-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5NX0.bcSrnwcIUtunmmAuVV_UPh1ZPBYpT-gh22bGDwqU_kM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"786fc85b86a6244744a3581333b37707","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:44070","level":"info","msg":"Received request.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.743153,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Received request.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515295,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5NX0.bcSrnwcIUtunmmAuVV_UPh1ZPBYpT-gh22bGDwqU_kM"} 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":"786fc85b86a6244744a3581333b37707"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01d0646d-d888-4dc0-91a7-f4c39f094d8d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1893e473-2209-402e-9a34-994f9bbd290d","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515295.4696279} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Sent response.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.771992,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d","object_type":"device","rebac_allow":false,"scope_allow":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":"e9ac2680-3dd0-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb31ab7a4-ee50-4839-821c-80bc7f52fa9c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb31ab7a4-ee50-4839-821c-80bc7f52fa9c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:53.140842606Z"}]},"request_id":"d215812a-8fa5-4663-b011-916e8c36615c","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515295.4729645} 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":"786fc85b86a6244744a3581333b37707"},"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/01d0646d-d888-4dc0-91a7-f4c39f094d8d/signaling 200 13ms","method":"POST","requestID":"e9ac2680-3dd0-11ef-ab4a-87fddd4f273f","responseTime":13,"status":200,"url":"/devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4efd82ff-078e-4a60-b51d-f9447c0acb1c"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4efd82ff-078e-4a60-b51d-f9447c0acb1c"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"dee32046-92bf-433f-a891-47a219048856"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"cc987938-1ebd-463c-9585-eec461af1515"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"1d4f4ac4-0ab2-44bf-937c-0b6bcbbd75c9"}]},"level":"info","message":"Built pairwise service configurations"} gateway-1 | {"time_local":"09/Jul/2024:08:54:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c? 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":"786fc85b86a6244744a3581333b37707"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"GET /devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c? 200 18ms","method":"GET","requestID":"786fc85b86a6244744a3581333b37707","responseTime":18,"status":200,"url":"/devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c?"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:55Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5NX0.bcSrnwcIUtunmmAuVV_UPh1ZPBYpT-gh22bGDwqU_kM","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.957191,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:55Z"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b8a4dafaf785d35c06e2775572e4c1e3","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515295,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5NX0.bcSrnwcIUtunmmAuVV_UPh1ZPBYpT-gh22bGDwqU_kM"} 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":"e9aebe90-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.075666,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515295,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5NX0.bcSrnwcIUtunmmAuVV_UPh1ZPBYpT-gh22bGDwqU_kM"} 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":"b8a4dafaf785d35c06e2775572e4c1e3"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01d0646d-d888-4dc0-91a7-f4c39f094d8d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01d0646d-d888-4dc0-91a7-f4c39f094d8d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:53.195395674Z"}]},"request_id":"8435f5b2-28e3-4718-a2da-ae0c3a779581","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515295.4962523} 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":"b8a4dafaf785d35c06e2775572e4c1e3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","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%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"8cddf59f-c8ef-4bfd-9fbd-8af9b5ceb20e","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515295.498343} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7595a0c2-cad7-4e25-89b4-a7da5a5f12da","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515295.49885} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} 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":"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":"e9aebe90-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} gateway-1 | {"time_local":"09/Jul/2024:08:54:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d? 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":"b8a4dafaf785d35c06e2775572e4c1e3"} device-1 | {"level":"info","message":"GET /devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d? 200 17ms","method":"GET","requestID":"b8a4dafaf785d35c06e2775572e4c1e3","responseTime":17,"status":200,"url":"/devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d?"} 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/791c3f97-56c9-40ca-9147-78b64283fcac'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/791c3f97-56c9-40ca-9147-78b64283fcac'"} 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 33ms","method":"POST","requestID":"e9aebe90-3dd0-11ef-ab4a-87fddd4f273f","responseTime":33,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4efd82ff-078e-4a60-b51d-f9447c0acb1c"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:55Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb31ab7a4-ee50-4839-821c-80bc7f52fa9c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"74c1398b-e035-40b3-af47-3971815e150f","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515295.555681} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.23257,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"e9b96cf0-3dd0-11ef-ab4a-87fddd4f273f"},"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/b31ab7a4-ee50-4839-821c-80bc7f52fa9c/signaling 200 9ms","method":"POST","requestID":"e9b96cf0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":9,"status":200,"url":"/devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:55Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01d0646d-d888-4dc0-91a7-f4c39f094d8d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a4b3bc6a-7739-4534-bbdb-2fe0d7d636b1","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515295.5678284} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.305633,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"e9bb41b0-3dd0-11ef-ab4a-87fddd4f273f"},"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/01d0646d-d888-4dc0-91a7-f4c39f094d8d/signaling 200 8ms","method":"POST","requestID":"e9bb41b0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":8,"status":200,"url":"/devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d/signaling"} device-1 | {"data":{"peerconnection":"791c3f97-56c9-40ca-9147-78b64283fcac","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/791c3f97-56c9-40ca-9147-78b64283fcac' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"791c3f97-56c9-40ca-9147-78b64283fcac","statusDeviceA":"new","statusDeviceB":"connecting"},"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":"01503690b952d766572f8e60e0f08791","responseTime":3,"status":200,"url":"/auth"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d'"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/791c3f97-56c9-40ca-9147-78b64283fcac"}}},"level":"info","message":"received a callback"} gateway-1 | {"time_local":"09/Jul/2024:08:54: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.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"01503690b952d766572f8e60e0f08791"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"01503690b952d766572f8e60e0f08791","responseTime":8,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"peerconnection":"791c3f97-56c9-40ca-9147-78b64283fcac","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"791c3f97-56c9-40ca-9147-78b64283fcac","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/791c3f97-56c9-40ca-9147-78b64283fcac' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"791c3f97-56c9-40ca-9147-78b64283fcac","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":"2bb818fdb0fa13b7b027e342c7273339","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/01d0646d-d888-4dc0-91a7-f4c39f094d8d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/791c3f97-56c9-40ca-9147-78b64283fcac"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:57Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F791c3f97-56c9-40ca-9147-78b64283fcac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4e8216fa-a2bd-43ec-81d6-df4357cbd8e8","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515297.615151} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.310243,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/791c3f97-56c9-40ca-9147-78b64283fcac","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/791c3f97-56c9-40ca-9147-78b64283fcac","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":"eaf39aa0-3dd0-11ef-ab4a-87fddd4f273f"},"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/791c3f97-56c9-40ca-9147-78b64283fcac 200 9ms","method":"GET","requestID":"eaf39aa0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":9,"status":200,"url":"/peerconnections/791c3f97-56c9-40ca-9147-78b64283fcac"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 37ms","method":"POST","requestID":"2bb818fdb0fa13b7b027e342c7273339","responseTime":37,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:54: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.040","http_referrer":"","http_user_agent":"node-fetch","requestID":"2bb818fdb0fa13b7b027e342c7273339"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:57Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01d0646d-d888-4dc0-91a7-f4c39f094d8d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7dcf9a9e-3fe5-4f22-bc6e-8c9ff7439463","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515297.6478357} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.468228,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"eaf8a3b0-3dd0-11ef-ab4a-87fddd4f273f"},"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/01d0646d-d888-4dc0-91a7-f4c39f094d8d/signaling 200 9ms","method":"POST","requestID":"eaf8a3b0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":9,"status":200,"url":"/devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:57Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb31ab7a4-ee50-4839-821c-80bc7f52fa9c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3756c308-49c2-4912-a514-4f7973d405d8","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515297.6593041} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.449139,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c","object_type":"device","rebac_allow":false,"scope_allow":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":"eafa7870-3dd0-11ef-ab4a-87fddd4f273f"},"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/b31ab7a4-ee50-4839-821c-80bc7f52fa9c/signaling 200 8ms","method":"POST","requestID":"eafa7870-3dd0-11ef-ab4a-87fddd4f273f","responseTime":8,"status":200,"url":"/devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5N30.mswer7-QnI2xowHw5b5z_c37Zq13nOGf82lLAeCnxGM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"85d19ad1d5ab58ef251bdb9e9f2f33e7","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/4efd82ff-078e-4a60-b51d-f9447c0acb1c"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:57Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.890891,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4efd82ff-078e-4a60-b51d-f9447c0acb1c","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/4efd82ff-078e-4a60-b51d-f9447c0acb1c","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515297,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5N30.mswer7-QnI2xowHw5b5z_c37Zq13nOGf82lLAeCnxGM"} 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":"85d19ad1d5ab58ef251bdb9e9f2f33e7"},"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/4efd82ff-078e-4a60-b51d-f9447c0acb1c"} gateway-1 | {"time_local":"09/Jul/2024:08:54:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/4efd82ff-078e-4a60-b51d-f9447c0acb1c HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"85d19ad1d5ab58ef251bdb9e9f2f33e7"} experiment-1 | {"level":"info","message":"GET /experiments/4efd82ff-078e-4a60-b51d-f9447c0acb1c 200 11ms","method":"GET","requestID":"85d19ad1d5ab58ef251bdb9e9f2f33e7","responseTime":11,"status":200,"url":"/experiments/4efd82ff-078e-4a60-b51d-f9447c0acb1c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5N30.mswer7-QnI2xowHw5b5z_c37Zq13nOGf82lLAeCnxGM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f8af404936c8e06ef52cf594a8c79bef","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/4efd82ff-078e-4a60-b51d-f9447c0acb1c"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:57Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.67475,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:57Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4efd82ff-078e-4a60-b51d-f9447c0acb1c","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/4efd82ff-078e-4a60-b51d-f9447c0acb1c","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515297,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5N30.mswer7-QnI2xowHw5b5z_c37Zq13nOGf82lLAeCnxGM"} 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":"f8af404936c8e06ef52cf594a8c79bef"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4efd82ff-078e-4a60-b51d-f9447c0acb1c"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:57Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.814096,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:57Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/791c3f97-56c9-40ca-9147-78b64283fcac","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:http://localhost/peerconnections/791c3f97-56c9-40ca-9147-78b64283fcac","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515297,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5N30.mswer7-QnI2xowHw5b5z_c37Zq13nOGf82lLAeCnxGM"} 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":"eb05c310-3dd0-11ef-ab4a-87fddd4f273f"},"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/791c3f97-56c9-40ca-9147-78b64283fcac' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/791c3f97-56c9-40ca-9147-78b64283fcac' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"791c3f97-56c9-40ca-9147-78b64283fcac","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F791c3f97-56c9-40ca-9147-78b64283fcac': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F791c3f97-56c9-40ca-9147-78b64283fcac","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"0d4d62ba-0e6e-4225-8c9a-d76dd6fe2469","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515297.7478902} 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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b35ba993-4094-4b2e-b0ba-6b2e747cb7b0","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515297.748198} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ffbe4e35aad0b0172e604175af0c7f14","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":"eb05c310-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} 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/01d0646d-d888-4dc0-91a7-f4c39f094d8d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/791c3f97-56c9-40ca-9147-78b64283fcac"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"31be40a502b0122a515ff46d2940588a","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":"connected","url":"http://localhost/devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/791c3f97-56c9-40ca-9147-78b64283fcac"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"791c3f97-56c9-40ca-9147-78b64283fcac","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/791c3f97-56c9-40ca-9147-78b64283fcac 204 40ms","method":"DELETE","requestID":"eb05c310-3dd0-11ef-ab4a-87fddd4f273f","responseTime":40,"status":204,"url":"/peerconnections/791c3f97-56c9-40ca-9147-78b64283fcac"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4efd82ff-078e-4a60-b51d-f9447c0acb1c"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:57Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01d0646d-d888-4dc0-91a7-f4c39f094d8d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"35591305-603d-4e91-a2e7-792e5a58ab25","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515297.795134} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.176407,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"eb0ec3c0-3dd0-11ef-ab4a-87fddd4f273f"},"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/01d0646d-d888-4dc0-91a7-f4c39f094d8d/signaling 200 12ms","method":"POST","requestID":"eb0ec3c0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":12,"status":200,"url":"/devices/01d0646d-d888-4dc0-91a7-f4c39f094d8d/signaling"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4efd82ff-078e-4a60-b51d-f9447c0acb1c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4efd82ff-078e-4a60-b51d-f9447c0acb1c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"2a635354-0920-4608-9745-2bd860703d4e","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515297.802434} 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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dc7a976d-e9dc-4c24-aecf-6f0c91b66a99","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515297.8027976} 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":"f8af404936c8e06ef52cf594a8c79bef"},"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:44070","level":"info","msg":"Received request.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:57Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb31ab7a4-ee50-4839-821c-80bc7f52fa9c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"62c7e67a-ae69-4b39-8959-f7ea31e051b0","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515297.8086247} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.329545,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"eb110db0-3dd0-11ef-ab4a-87fddd4f273f"},"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/b31ab7a4-ee50-4839-821c-80bc7f52fa9c/signaling 200 11ms","method":"POST","requestID":"eb110db0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/devices/b31ab7a4-ee50-4839-821c-80bc7f52fa9c/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/4efd82ff-078e-4a60-b51d-f9447c0acb1c"} gateway-1 | {"time_local":"09/Jul/2024:08:54:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/4efd82ff-078e-4a60-b51d-f9447c0acb1c HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.148","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f8af404936c8e06ef52cf594a8c79bef"} experiment-1 | {"level":"info","message":"DELETE /experiments/4efd82ff-078e-4a60-b51d-f9447c0acb1c 204 146ms","method":"DELETE","requestID":"f8af404936c8e06ef52cf594a8c79bef","responseTime":146,"status":204,"url":"/experiments/4efd82ff-078e-4a60-b51d-f9447c0acb1c"} gateway-1 | {"time_local":"09/Jul/2024:08:54:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2597","request_time":"4.115","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"8f042105e70a1bb67923632803dd605c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 116ms","method":"POST","requestID":"ffbe4e35aad0b0172e604175af0c7f14","responseTime":116,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:54: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.121","http_referrer":"","http_user_agent":"node-fetch","requestID":"ffbe4e35aad0b0172e604175af0c7f14"} gateway-1 | {"time_local":"09/Jul/2024:08:54: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.122","http_referrer":"","http_user_agent":"node-fetch","requestID":"31be40a502b0122a515ff46d2940588a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5N30.mswer7-QnI2xowHw5b5z_c37Zq13nOGf82lLAeCnxGM","level":"info","message":"auth send jwt"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 116ms","method":"POST","requestID":"31be40a502b0122a515ff46d2940588a","responseTime":116,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"08bed4fe3b58cb18f7f8d5e401419515","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:57Z"} gateway-1 | {"time_local":"09/Jul/2024:08:54:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2506","request_time":"2.632","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d01eefd3cc21dbbe6077cf1aa5b1886d"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.846524,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515297,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5N30.mswer7-QnI2xowHw5b5z_c37Zq13nOGf82lLAeCnxGM"} 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":"08bed4fe3b58cb18f7f8d5e401419515"},"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/b31ab7a4-ee50-4839-821c-80bc7f52fa9c' 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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab587e34-144e-4d3c-8221-dec6b23067d8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"90e31821-4edb-4005-bef4-6386b9345101","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515297.8928616} 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":"08bed4fe3b58cb18f7f8d5e401419515"},"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/01d0646d-d888-4dc0-91a7-f4c39f094d8d' 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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8b8d0b2a-e7a2-48e3-878e-ebe08caf5191","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515297.8993015} 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":"08bed4fe3b58cb18f7f8d5e401419515"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab587e34-144e-4d3c-8221-dec6b23067d8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"2c906f40-db5d-4252-98d8-ef987bcc1f44","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515297.9104705} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4e958353-d8be-4d1a-b4f5-9316d1111771","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515297.9107397} 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":"08bed4fe3b58cb18f7f8d5e401419515"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab587e34-144e-4d3c-8221-dec6b23067d8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab587e34-144e-4d3c-8221-dec6b23067d8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:57.910450636Z"}]},"request_id":"2643044f-383a-47ba-86a4-e22b19814258","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515297.91614} 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":"08bed4fe3b58cb18f7f8d5e401419515"},"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":"09/Jul/2024:08:54: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.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"08bed4fe3b58cb18f7f8d5e401419515"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"08bed4fe3b58cb18f7f8d5e401419515","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5N30.mswer7-QnI2xowHw5b5z_c37Zq13nOGf82lLAeCnxGM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"234e5bae13283809640674a50019d5b9","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:57Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.690603,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515297,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5N30.mswer7-QnI2xowHw5b5z_c37Zq13nOGf82lLAeCnxGM"} 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":"234e5bae13283809640674a50019d5b9"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa82a79cd-1c3f-47fd-8a13-973eeed865c8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"87db40bd-9321-4397-9311-c962c3dce344","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515297.9512832} 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":"234e5bae13283809640674a50019d5b9"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9dd843c1-20c5-4117-8b1d-b214d2f49482","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515297.9602094} 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":"234e5bae13283809640674a50019d5b9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa82a79cd-1c3f-47fd-8a13-973eeed865c8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"8ab2f07e-3f17-40a4-811d-0791de4b12c7","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515297.9716918} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4dc193d5-8d61-4e3e-ad1e-20beedaf8bb2","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515297.971919} 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":"234e5bae13283809640674a50019d5b9"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa82a79cd-1c3f-47fd-8a13-973eeed865c8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa82a79cd-1c3f-47fd-8a13-973eeed865c8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:57.971680148Z"}]},"request_id":"a44ad003-f80c-4314-a9aa-a8e63e53c97d","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515297.9762197} 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":"234e5bae13283809640674a50019d5b9"},"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":"09/Jul/2024:08:54: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.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"234e5bae13283809640674a50019d5b9"} device-1 | {"level":"info","message":"POST /devices? 201 54ms","method":"POST","requestID":"234e5bae13283809640674a50019d5b9","responseTime":54,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5OH0.dwM2IADCpG-PZ7xdHF-Og8YHVYfNQ4xTxs6dhA_aQAo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"da769a6100221aad94641f9d781328de","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5OH0.dwM2IADCpG-PZ7xdHF-Og8YHVYfNQ4xTxs6dhA_aQAo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"73e5458650154d123324cd26915f0a85","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:58Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.677014,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:58Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Received request.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:58Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515298,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5OH0.dwM2IADCpG-PZ7xdHF-Og8YHVYfNQ4xTxs6dhA_aQAo"} 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":"da769a6100221aad94641f9d781328de"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Sent response.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.86693,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:58Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ab587e34-144e-4d3c-8221-dec6b23067d8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/ab587e34-144e-4d3c-8221-dec6b23067d8","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515298,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5OH0.dwM2IADCpG-PZ7xdHF-Og8YHVYfNQ4xTxs6dhA_aQAo"} 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":"73e5458650154d123324cd26915f0a85"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa82a79cd-1c3f-47fd-8a13-973eeed865c8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa82a79cd-1c3f-47fd-8a13-973eeed865c8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:57.971680148Z"}]},"request_id":"55d712f3-1f17-45d6-bdfd-0c920d6c1c33","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515298.5117137} 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":"da769a6100221aad94641f9d781328de"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab587e34-144e-4d3c-8221-dec6b23067d8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab587e34-144e-4d3c-8221-dec6b23067d8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:57.910450636Z"}]},"request_id":"2f9aa0c8-f49a-4263-97bb-60252bf375eb","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515298.5144205} 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":"73e5458650154d123324cd26915f0a85"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ce6bc513-5535-41b1-a817-40935d05a3a3","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515298.5198145} 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":"da769a6100221aad94641f9d781328de"},"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":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9dfc67de-290a-4295-87a5-9b8ed584ae42","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515298.5217206} 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":"73e5458650154d123324cd26915f0a85"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab587e34-144e-4d3c-8221-dec6b23067d8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab587e34-144e-4d3c-8221-dec6b23067d8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:57.910450636Z"}]},"request_id":"b05e1d59-7d60-4338-838c-2f0bd6150e13","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515298.5256732} device-1 | {"level":"info","message":"patchDevicesByDeviceId 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":"73e5458650154d123324cd26915f0a85"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} gateway-1 | {"time_local":"09/Jul/2024:08:54:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/ab587e34-144e-4d3c-8221-dec6b23067d8 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.034","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"73e5458650154d123324cd26915f0a85"} device-1 | {"level":"info","message":"PATCH /devices/ab587e34-144e-4d3c-8221-dec6b23067d8 200 27ms","method":"PATCH","requestID":"73e5458650154d123324cd26915f0a85","responseTime":27,"status":200,"url":"/devices/ab587e34-144e-4d3c-8221-dec6b23067d8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5OH0.dwM2IADCpG-PZ7xdHF-Og8YHVYfNQ4xTxs6dhA_aQAo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2b3c56c7df465994e11d4f91585c12bb","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa82a79cd-1c3f-47fd-8a13-973eeed865c8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa82a79cd-1c3f-47fd-8a13-973eeed865c8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:57.971680148Z"}]},"request_id":"fd22ca9b-4d2c-42e3-b55a-35478cba4e09","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515298.5367785} 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":"da769a6100221aad94641f9d781328de"},"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:44070","level":"info","msg":"Received request.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:58Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.696827,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:58Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ab587e34-144e-4d3c-8221-dec6b23067d8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/ab587e34-144e-4d3c-8221-dec6b23067d8","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515298,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5OH0.dwM2IADCpG-PZ7xdHF-Og8YHVYfNQ4xTxs6dhA_aQAo"} gateway-1 | {"time_local":"09/Jul/2024:08:54:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.049","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"da769a6100221aad94641f9d781328de"} device-1 | {"level":"info","message":"PATCH /devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8 200 43ms","method":"PATCH","requestID":"da769a6100221aad94641f9d781328de","responseTime":43,"status":200,"url":"/devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8"} 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":"2b3c56c7df465994e11d4f91585c12bb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5OH0.dwM2IADCpG-PZ7xdHF-Og8YHVYfNQ4xTxs6dhA_aQAo","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"39d25871c11a96a38f4d7634f88bda43","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:58Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.927704,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:58Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515298,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5OH0.dwM2IADCpG-PZ7xdHF-Og8YHVYfNQ4xTxs6dhA_aQAo"} 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":"39d25871c11a96a38f4d7634f88bda43"},"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":"09/Jul/2024:08:54:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ab587e34-144e-4d3c-8221-dec6b23067d8/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":"2b3c56c7df465994e11d4f91585c12bb"} device-1 | {"level":"info","message":"POST /devices/ab587e34-144e-4d3c-8221-dec6b23067d8/websocket 200 20ms","method":"POST","requestID":"2b3c56c7df465994e11d4f91585c12bb","responseTime":20,"status":200,"url":"/devices/ab587e34-144e-4d3c-8221-dec6b23067d8/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8/websocket 200 18ms","method":"POST","requestID":"39d25871c11a96a38f4d7634f88bda43","responseTime":18,"status":200,"url":"/devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8/websocket"} gateway-1 | {"time_local":"09/Jul/2024:08:54:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8/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":"39d25871c11a96a38f4d7634f88bda43"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ab587e34-144e-4d3c-8221-dec6b23067d8' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5OH0.dwM2IADCpG-PZ7xdHF-Og8YHVYfNQ4xTxs6dhA_aQAo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d49f8744a2662c2709710aa51eef08e5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:58Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.626551,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ab587e34-144e-4d3c-8221-dec6b23067d8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/ab587e34-144e-4d3c-8221-dec6b23067d8","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515298,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5OH0.dwM2IADCpG-PZ7xdHF-Og8YHVYfNQ4xTxs6dhA_aQAo"} 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":"d49f8744a2662c2709710aa51eef08e5"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab587e34-144e-4d3c-8221-dec6b23067d8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab587e34-144e-4d3c-8221-dec6b23067d8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:57.910450636Z"}]},"request_id":"8395d018-caf9-4d62-beae-6561ebab2a53","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515298.597235} 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":"d49f8744a2662c2709710aa51eef08e5"},"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":"09/Jul/2024:08:54:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ab587e34-144e-4d3c-8221-dec6b23067d8? 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":"d49f8744a2662c2709710aa51eef08e5"} device-1 | {"level":"info","message":"GET /devices/ab587e34-144e-4d3c-8221-dec6b23067d8? 200 12ms","method":"GET","requestID":"d49f8744a2662c2709710aa51eef08e5","responseTime":12,"status":200,"url":"/devices/ab587e34-144e-4d3c-8221-dec6b23067d8?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5OH0.dwM2IADCpG-PZ7xdHF-Og8YHVYfNQ4xTxs6dhA_aQAo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3e8d4d5c11342d7bb238236417d46d1e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:58Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.630215,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515298,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5OH0.dwM2IADCpG-PZ7xdHF-Og8YHVYfNQ4xTxs6dhA_aQAo"} 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":"3e8d4d5c11342d7bb238236417d46d1e"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa82a79cd-1c3f-47fd-8a13-973eeed865c8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa82a79cd-1c3f-47fd-8a13-973eeed865c8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:57.971680148Z"}]},"request_id":"e6c35706-70c9-403f-a438-f2ac8b19199c","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515298.6154754} 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":"3e8d4d5c11342d7bb238236417d46d1e"},"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":"09/Jul/2024:08:54:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8? 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":"3e8d4d5c11342d7bb238236417d46d1e"} device-1 | {"level":"info","message":"GET /devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8? 200 12ms","method":"GET","requestID":"3e8d4d5c11342d7bb238236417d46d1e","responseTime":12,"status":200,"url":"/devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5OH0.dwM2IADCpG-PZ7xdHF-Og8YHVYfNQ4xTxs6dhA_aQAo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"03d2b6e32edd7a00d95a00f077a7446d","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:44070","level":"info","msg":"Received request.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:58Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.663577,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515298,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5OH0.dwM2IADCpG-PZ7xdHF-Og8YHVYfNQ4xTxs6dhA_aQAo"} 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":"03d2b6e32edd7a00d95a00f077a7446d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e309593c-1bd9-459c-9fd0-76bac5d9e469"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e309593c-1bd9-459c-9fd0-76bac5d9e469"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e309593c-1bd9-459c-9fd0-76bac5d9e469"},"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:44070","level":"info","msg":"Received request.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:58Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.892547,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:58Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Received request.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ab587e34-144e-4d3c-8221-dec6b23067d8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/ab587e34-144e-4d3c-8221-dec6b23067d8","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515298,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5OH0.dwM2IADCpG-PZ7xdHF-Og8YHVYfNQ4xTxs6dhA_aQAo"} 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":"eb93ab30-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Sent response.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.634107,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515298,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5OH0.dwM2IADCpG-PZ7xdHF-Og8YHVYfNQ4xTxs6dhA_aQAo"} 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":"eb93d240-3dd0-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab587e34-144e-4d3c-8221-dec6b23067d8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab587e34-144e-4d3c-8221-dec6b23067d8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:57.910450636Z"}]},"request_id":"a3a721a8-9ddd-45f1-a531-c61d5794bfe4","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515298.6680589} 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":"eb93ab30-3dd0-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa82a79cd-1c3f-47fd-8a13-973eeed865c8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa82a79cd-1c3f-47fd-8a13-973eeed865c8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:57.971680148Z"}]},"request_id":"115c96e6-5b87-43ee-a5e2-d1cbf883cd24","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515298.669005} 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":"eb93d240-3dd0-11ef-ab4a-87fddd4f273f"},"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/ab587e34-144e-4d3c-8221-dec6b23067d8? 200 14ms","method":"GET","requestID":"eb93ab30-3dd0-11ef-ab4a-87fddd4f273f","responseTime":14,"status":200,"url":"/devices/ab587e34-144e-4d3c-8221-dec6b23067d8?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8? 200 15ms","method":"GET","requestID":"eb93d240-3dd0-11ef-ab4a-87fddd4f273f","responseTime":15,"status":200,"url":"/devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e309593c-1bd9-459c-9fd0-76bac5d9e469"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e309593c-1bd9-459c-9fd0-76bac5d9e469"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e309593c-1bd9-459c-9fd0-76bac5d9e469"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e309593c-1bd9-459c-9fd0-76bac5d9e469"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e309593c-1bd9-459c-9fd0-76bac5d9e469"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e309593c-1bd9-459c-9fd0-76bac5d9e469"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e309593c-1bd9-459c-9fd0-76bac5d9e469"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e309593c-1bd9-459c-9fd0-76bac5d9e469"},"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/e309593c-1bd9-459c-9fd0-76bac5d9e469"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:58Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Received request.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:58Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.913892,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:58Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Sent response.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.448801,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ab587e34-144e-4d3c-8221-dec6b23067d8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/ab587e34-144e-4d3c-8221-dec6b23067d8","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515298,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5OH0.dwM2IADCpG-PZ7xdHF-Og8YHVYfNQ4xTxs6dhA_aQAo"} 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":"eb9c84d0-3dd0-11ef-ab4a-87fddd4f273f"},"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/a82a79cd-1c3f-47fd-8a13-973eeed865c8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515298,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5OH0.dwM2IADCpG-PZ7xdHF-Og8YHVYfNQ4xTxs6dhA_aQAo"} 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":"eb9cd2f0-3dd0-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab587e34-144e-4d3c-8221-dec6b23067d8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab587e34-144e-4d3c-8221-dec6b23067d8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:57.910450636Z"}]},"request_id":"d5083dcc-b9d4-4876-bd54-83310dee216c","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515298.7298207} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa82a79cd-1c3f-47fd-8a13-973eeed865c8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa82a79cd-1c3f-47fd-8a13-973eeed865c8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:57.971680148Z"}]},"request_id":"56acacba-ad1a-4a69-b7a3-781ca06fe0bd","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515298.730659} 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":"eb9c84d0-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} 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":"eb9cd2f0-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab587e34-144e-4d3c-8221-dec6b23067d8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"842e6fd8-8b0e-445e-ba08-b945f621053b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515298.7328107} authorization-1 | {"client_addr":"127.0.0.1:51776","level":"info","msg":"Received request.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:58Z"} authorization-1 | {"client_addr":"127.0.0.1:51776","level":"info","msg":"Sent response.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.641124,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ab587e34-144e-4d3c-8221-dec6b23067d8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ab587e34-144e-4d3c-8221-dec6b23067d8","object_type":"device","rebac_allow":false,"scope_allow":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":"eb9cfa00-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":15}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/ab587e34-144e-4d3c-8221-dec6b23067d8? 200 24ms","method":"GET","requestID":"eb9c84d0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":24,"status":200,"url":"/devices/ab587e34-144e-4d3c-8221-dec6b23067d8?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe309593c-1bd9-459c-9fd0-76bac5d9e469#owner@http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe309593c-1bd9-459c-9fd0-76bac5d9e469","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"f9babd9e-588c-4174-a4e4-284623f77f5a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515298.7418644} device-1 | {"level":"info","message":"GET /devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8? 200 24ms","method":"GET","requestID":"eb9cd2f0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":24,"status":200,"url":"/devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"28765f06-0e85-4001-80e1-19500a3bd844","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515298.742773} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/ab587e34-144e-4d3c-8221-dec6b23067d8/signaling 200 25ms","method":"POST","requestID":"eb9cfa00-3dd0-11ef-ab4a-87fddd4f273f","responseTime":25,"status":200,"url":"/devices/ab587e34-144e-4d3c-8221-dec6b23067d8/signaling"} 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":"03d2b6e32edd7a00d95a00f077a7446d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:58Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab587e34-144e-4d3c-8221-dec6b23067d8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5f6161f3-063f-4d05-bbd6-a53c2831bf9e","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515298.7534955} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/e309593c-1bd9-459c-9fd0-76bac5d9e469","user":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"09/Jul/2024:08:54:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"815","request_time":"0.137","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"03d2b6e32edd7a00d95a00f077a7446d"} experiment-1 | {"level":"info","message":"POST /experiments? 201 133ms","method":"POST","requestID":"03d2b6e32edd7a00d95a00f077a7446d","responseTime":133,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.768615,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:58Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Received request.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:58Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Sent response.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.632413,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ab587e34-144e-4d3c-8221-dec6b23067d8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ab587e34-144e-4d3c-8221-dec6b23067d8","object_type":"device","rebac_allow":false,"scope_allow":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":"eba0f1a0-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa82a79cd-1c3f-47fd-8a13-973eeed865c8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f0e886b4-7538-4ea3-8288-1d50def71254","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515298.7586968} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5OH0.dwM2IADCpG-PZ7xdHF-Og8YHVYfNQ4xTxs6dhA_aQAo","level":"info","message":"auth send jwt"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8","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":"7cf8ea8a0fdbac0c239db6249c46ff52","responseTime":4,"status":200,"url":"/auth"} 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":"eba20310-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:58Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.748867,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:58Z"} device-1 | {"level":"info","message":"POST /devices/ab587e34-144e-4d3c-8221-dec6b23067d8/signaling 200 24ms","method":"POST","requestID":"eba0f1a0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":24,"status":200,"url":"/devices/ab587e34-144e-4d3c-8221-dec6b23067d8/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ab587e34-144e-4d3c-8221-dec6b23067d8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/ab587e34-144e-4d3c-8221-dec6b23067d8","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515298,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5OH0.dwM2IADCpG-PZ7xdHF-Og8YHVYfNQ4xTxs6dhA_aQAo"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} 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":"7cf8ea8a0fdbac0c239db6249c46ff52"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"POST /devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8/signaling 200 19ms","method":"POST","requestID":"eba20310-3dd0-11ef-ab4a-87fddd4f273f","responseTime":19,"status":200,"url":"/devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8/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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab587e34-144e-4d3c-8221-dec6b23067d8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab587e34-144e-4d3c-8221-dec6b23067d8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:57.910450636Z"}]},"request_id":"16ac1c7a-db5a-44d0-9d28-d1eb80e6512a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515298.7758923} 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":"7cf8ea8a0fdbac0c239db6249c46ff52"},"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:44070","level":"info","msg":"Received request.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:58Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa82a79cd-1c3f-47fd-8a13-973eeed865c8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"50adb076-0424-4d25-818d-9176e4f5fe6b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515298.7802875} gateway-1 | {"time_local":"09/Jul/2024:08:54:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ab587e34-144e-4d3c-8221-dec6b23067d8? 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":"7cf8ea8a0fdbac0c239db6249c46ff52"} device-1 | {"level":"info","message":"GET /devices/ab587e34-144e-4d3c-8221-dec6b23067d8? 200 14ms","method":"GET","requestID":"7cf8ea8a0fdbac0c239db6249c46ff52","responseTime":14,"status":200,"url":"/devices/ab587e34-144e-4d3c-8221-dec6b23067d8?"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.605139,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"eba53760-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5OH0.dwM2IADCpG-PZ7xdHF-Og8YHVYfNQ4xTxs6dhA_aQAo","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"POST /devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8/signaling 200 11ms","method":"POST","requestID":"eba53760-3dd0-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8d19d06b72f1c694bd02b5e29930265a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e309593c-1bd9-459c-9fd0-76bac5d9e469"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e309593c-1bd9-459c-9fd0-76bac5d9e469"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"3e5f08fb-e04f-419d-85ab-d9ef15e49dad"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"360e9342-93f6-4035-8db9-e299785cfc81"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"787137e3-f6ee-4e29-a071-9645af32a692"}]},"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/a82a79cd-1c3f-47fd-8a13-973eeed865c8"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/ab587e34-144e-4d3c-8221-dec6b23067d8"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:58Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.732667,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515298,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5OH0.dwM2IADCpG-PZ7xdHF-Og8YHVYfNQ4xTxs6dhA_aQAo"} 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":"8d19d06b72f1c694bd02b5e29930265a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Received request.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:58Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Sent response.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.627758,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515298,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTI5OH0.dwM2IADCpG-PZ7xdHF-Og8YHVYfNQ4xTxs6dhA_aQAo"} 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":"eba75a40-3dd0-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa82a79cd-1c3f-47fd-8a13-973eeed865c8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa82a79cd-1c3f-47fd-8a13-973eeed865c8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:54:57.971680148Z"}]},"request_id":"fe4603f2-40e6-4e3a-81d0-3596d8823cc8","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515298.7945712} 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":"8d19d06b72f1c694bd02b5e29930265a"},"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/a82a79cd-1c3f-47fd-8a13-973eeed865c8? 200 15ms","method":"GET","requestID":"8d19d06b72f1c694bd02b5e29930265a","responseTime":15,"status":200,"url":"/devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8?"} gateway-1 | {"time_local":"09/Jul/2024:08:54:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8d19d06b72f1c694bd02b5e29930265a"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","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%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"cbe07d49-cd51-4e20-8bef-df66f8aa8d69","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515298.8064659} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"96d8a01c-44f6-4a21-9c16-b5588898ddca","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515298.8066287} 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":"eba75a40-3dd0-11ef-ab4a-87fddd4f273f"},"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/333c3e2d-6e06-43db-b9f0-c151f4d4e076'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/333c3e2d-6e06-43db-b9f0-c151f4d4e076'"} 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 32ms","method":"POST","requestID":"eba75a40-3dd0-11ef-ab4a-87fddd4f273f","responseTime":32,"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/e309593c-1bd9-459c-9fd0-76bac5d9e469"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:58Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab587e34-144e-4d3c-8221-dec6b23067d8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4e1a1815-3c2c-413c-8d2f-49fe4c46e722","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515298.8637383} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.9825,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ab587e34-144e-4d3c-8221-dec6b23067d8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ab587e34-144e-4d3c-8221-dec6b23067d8","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"ebb208a0-3dd0-11ef-ab4a-87fddd4f273f"},"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/ab587e34-144e-4d3c-8221-dec6b23067d8/signaling 200 11ms","method":"POST","requestID":"ebb208a0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/devices/ab587e34-144e-4d3c-8221-dec6b23067d8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:54:58Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa82a79cd-1c3f-47fd-8a13-973eeed865c8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cf36ac8f-69d3-44cd-ba8c-0d7f3760ff17","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515298.8768318} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.817696,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:54:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"ebb40470-3dd0-11ef-ab4a-87fddd4f273f"},"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/a82a79cd-1c3f-47fd-8a13-973eeed865c8/signaling 200 15ms","method":"POST","requestID":"ebb40470-3dd0-11ef-ab4a-87fddd4f273f","responseTime":15,"status":200,"url":"/devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8/signaling"} device-1 | {"data":{"peerconnection":"333c3e2d-6e06-43db-b9f0-c151f4d4e076","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"333c3e2d-6e06-43db-b9f0-c151f4d4e076","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/333c3e2d-6e06-43db-b9f0-c151f4d4e076' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"333c3e2d-6e06-43db-b9f0-c151f4d4e076","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":"c97f1fcd7c62c47620c1b77d0e3850a2","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/a82a79cd-1c3f-47fd-8a13-973eeed865c8"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/ab587e34-144e-4d3c-8221-dec6b23067d8"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/333c3e2d-6e06-43db-b9f0-c151f4d4e076"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"c97f1fcd7c62c47620c1b77d0e3850a2","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"c97f1fcd7c62c47620c1b77d0e3850a2"} device-1 | {"data":{"peerconnection":"333c3e2d-6e06-43db-b9f0-c151f4d4e076","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"333c3e2d-6e06-43db-b9f0-c151f4d4e076","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/333c3e2d-6e06-43db-b9f0-c151f4d4e076' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"333c3e2d-6e06-43db-b9f0-c151f4d4e076","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":"958f53b8760f772eee164e284677505c","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/a82a79cd-1c3f-47fd-8a13-973eeed865c8"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ab587e34-144e-4d3c-8221-dec6b23067d8"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/333c3e2d-6e06-43db-b9f0-c151f4d4e076"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:00Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F333c3e2d-6e06-43db-b9f0-c151f4d4e076","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4c7d18a2-d09b-43e7-b36e-1fdc674776d7","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515300.9359252} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.18658,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/333c3e2d-6e06-43db-b9f0-c151f4d4e076","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/333c3e2d-6e06-43db-b9f0-c151f4d4e076","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":"ecee3220-3dd0-11ef-ab4a-87fddd4f273f"},"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/333c3e2d-6e06-43db-b9f0-c151f4d4e076 200 11ms","method":"GET","requestID":"ecee3220-3dd0-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/peerconnections/333c3e2d-6e06-43db-b9f0-c151f4d4e076"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 40ms","method":"POST","requestID":"958f53b8760f772eee164e284677505c","responseTime":40,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch","requestID":"958f53b8760f772eee164e284677505c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:00Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa82a79cd-1c3f-47fd-8a13-973eeed865c8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"95167934-c7f7-4210-801b-c6439425a3fe","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515300.9696455} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.532658,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"ecf36240-3dd0-11ef-ab4a-87fddd4f273f"},"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/a82a79cd-1c3f-47fd-8a13-973eeed865c8/signaling 200 9ms","method":"POST","requestID":"ecf36240-3dd0-11ef-ab4a-87fddd4f273f","responseTime":9,"status":200,"url":"/devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:00Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab587e34-144e-4d3c-8221-dec6b23067d8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bbcdd4b8-3ac1-4ebb-b572-c2bfca3849d6","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515300.981383} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.452838,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ab587e34-144e-4d3c-8221-dec6b23067d8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ab587e34-144e-4d3c-8221-dec6b23067d8","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"ecf53700-3dd0-11ef-ab4a-87fddd4f273f"},"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/ab587e34-144e-4d3c-8221-dec6b23067d8/signaling 200 10ms","method":"POST","requestID":"ecf53700-3dd0-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/devices/ab587e34-144e-4d3c-8221-dec6b23067d8/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMX0.a-BxWmvbP44TgdWNghKAs2OTFinugx2uwEgDq5FsfDw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9b51cac21ee6d6b16ca2fb3fc6682e9d","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e309593c-1bd9-459c-9fd0-76bac5d9e469"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:01Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.780496,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e309593c-1bd9-459c-9fd0-76bac5d9e469","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/e309593c-1bd9-459c-9fd0-76bac5d9e469","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515301,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMX0.a-BxWmvbP44TgdWNghKAs2OTFinugx2uwEgDq5FsfDw"} 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":"9b51cac21ee6d6b16ca2fb3fc6682e9d"},"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/e309593c-1bd9-459c-9fd0-76bac5d9e469"} gateway-1 | {"time_local":"09/Jul/2024:08:55:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e309593c-1bd9-459c-9fd0-76bac5d9e469 HTTP/1.1","status": "200","body_bytes_sent":"888","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9b51cac21ee6d6b16ca2fb3fc6682e9d"} experiment-1 | {"level":"info","message":"GET /experiments/e309593c-1bd9-459c-9fd0-76bac5d9e469 200 11ms","method":"GET","requestID":"9b51cac21ee6d6b16ca2fb3fc6682e9d","responseTime":11,"status":200,"url":"/experiments/e309593c-1bd9-459c-9fd0-76bac5d9e469"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMX0.a-BxWmvbP44TgdWNghKAs2OTFinugx2uwEgDq5FsfDw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0553587e2d2d64fc44805b465eb4c3b3","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/e309593c-1bd9-459c-9fd0-76bac5d9e469"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:01Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.953403,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:01Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e309593c-1bd9-459c-9fd0-76bac5d9e469","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/e309593c-1bd9-459c-9fd0-76bac5d9e469","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515301,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMX0.a-BxWmvbP44TgdWNghKAs2OTFinugx2uwEgDq5FsfDw"} 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":"0553587e2d2d64fc44805b465eb4c3b3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e309593c-1bd9-459c-9fd0-76bac5d9e469"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:01Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.632508,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:01Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/333c3e2d-6e06-43db-b9f0-c151f4d4e076","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:http://localhost/peerconnections/333c3e2d-6e06-43db-b9f0-c151f4d4e076","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515301,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMX0.a-BxWmvbP44TgdWNghKAs2OTFinugx2uwEgDq5FsfDw"} 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":"ecffbe50-3dd0-11ef-ab4a-87fddd4f273f"},"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/333c3e2d-6e06-43db-b9f0-c151f4d4e076' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/333c3e2d-6e06-43db-b9f0-c151f4d4e076' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"333c3e2d-6e06-43db-b9f0-c151f4d4e076","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":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F333c3e2d-6e06-43db-b9f0-c151f4d4e076': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F333c3e2d-6e06-43db-b9f0-c151f4d4e076","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"25cafee3-7274-4a21-8a30-07ee80fe515d","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.063619} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b7b27ddb-01ba-4551-825b-84e5f5c78282","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.0638592} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7140c35e61944d36f5d86813671b4b0e","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/a82a79cd-1c3f-47fd-8a13-973eeed865c8"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/ab587e34-144e-4d3c-8221-dec6b23067d8"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/333c3e2d-6e06-43db-b9f0-c151f4d4e076"}}},"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":"ac4a352f0eafbf6eedafcf62c340968c","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":"connected","url":"http://localhost/devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/ab587e34-144e-4d3c-8221-dec6b23067d8"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/333c3e2d-6e06-43db-b9f0-c151f4d4e076"}}},"level":"info","message":"received a callback"} 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":"ecffbe50-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"data":{"peerconnection":"333c3e2d-6e06-43db-b9f0-c151f4d4e076","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/333c3e2d-6e06-43db-b9f0-c151f4d4e076 204 41ms","method":"DELETE","requestID":"ecffbe50-3dd0-11ef-ab4a-87fddd4f273f","responseTime":41,"status":204,"url":"/peerconnections/333c3e2d-6e06-43db-b9f0-c151f4d4e076"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e309593c-1bd9-459c-9fd0-76bac5d9e469"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:01Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa82a79cd-1c3f-47fd-8a13-973eeed865c8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4261f7e5-15c3-425e-b05a-ecd48dc67320","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.1104023} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.987916,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"ed08bf00-3dd0-11ef-ab4a-87fddd4f273f"},"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/a82a79cd-1c3f-47fd-8a13-973eeed865c8/signaling 200 12ms","method":"POST","requestID":"ed08bf00-3dd0-11ef-ab4a-87fddd4f273f","responseTime":12,"status":200,"url":"/devices/a82a79cd-1c3f-47fd-8a13-973eeed865c8/signaling"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe309593c-1bd9-459c-9fd0-76bac5d9e469': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe309593c-1bd9-459c-9fd0-76bac5d9e469","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"be081e7c-98e3-41d6-a367-7b519ece321b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.1183934} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3cf36c87-49b0-4e4f-9e1e-228ce63af3dd","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.1188679} 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":"0553587e2d2d64fc44805b465eb4c3b3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:01Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab587e34-144e-4d3c-8221-dec6b23067d8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"091a376d-c89a-452d-9223-c725b54ebc71","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.1265726} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.650256,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ab587e34-144e-4d3c-8221-dec6b23067d8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ab587e34-144e-4d3c-8221-dec6b23067d8","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"ed0b5710-3dd0-11ef-ab4a-87fddd4f273f"},"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/ab587e34-144e-4d3c-8221-dec6b23067d8/signaling 200 10ms","method":"POST","requestID":"ed0b5710-3dd0-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/devices/ab587e34-144e-4d3c-8221-dec6b23067d8/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/e309593c-1bd9-459c-9fd0-76bac5d9e469"} gateway-1 | {"time_local":"09/Jul/2024:08:55:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/e309593c-1bd9-459c-9fd0-76bac5d9e469 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.154","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0553587e2d2d64fc44805b465eb4c3b3"} gateway-1 | {"time_local":"09/Jul/2024:08:55:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2506","request_time":"2.617","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"a1dd79fbd691f6bf2c2fa40ce0d239fc"} gateway-1 | {"time_local":"09/Jul/2024:08:55:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2506","request_time":"2.627","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"a502b56a58353bc8541bf443f4429057"} experiment-1 | {"level":"info","message":"DELETE /experiments/e309593c-1bd9-459c-9fd0-76bac5d9e469 204 152ms","method":"DELETE","requestID":"0553587e2d2d64fc44805b465eb4c3b3","responseTime":152,"status":204,"url":"/experiments/e309593c-1bd9-459c-9fd0-76bac5d9e469"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ab587e34-144e-4d3c-8221-dec6b23067d8' closed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMX0.a-BxWmvbP44TgdWNghKAs2OTFinugx2uwEgDq5FsfDw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c3a1c76f63ea54ae0fac895186ab94c2","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 128ms","method":"POST","requestID":"7140c35e61944d36f5d86813671b4b0e","responseTime":128,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.132","http_referrer":"","http_user_agent":"node-fetch","requestID":"7140c35e61944d36f5d86813671b4b0e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 127ms","method":"POST","requestID":"ac4a352f0eafbf6eedafcf62c340968c","responseTime":127,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.134","http_referrer":"","http_user_agent":"node-fetch","requestID":"ac4a352f0eafbf6eedafcf62c340968c"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:01Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.209335,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515301,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMX0.a-BxWmvbP44TgdWNghKAs2OTFinugx2uwEgDq5FsfDw"} 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":"c3a1c76f63ea54ae0fac895186ab94c2"},"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/a82a79cd-1c3f-47fd-8a13-973eeed865c8' 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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68838af8-0a4e-499f-8371-fade71662c09","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ea98d127-2e2b-4569-b033-49f9e97cabbe","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.2123864} 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":"c3a1c76f63ea54ae0fac895186ab94c2"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d22386e6-a5fd-47b9-9283-304e50c818f1","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.217844} 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":"c3a1c76f63ea54ae0fac895186ab94c2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68838af8-0a4e-499f-8371-fade71662c09","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"d79ab0a0-1cf4-4739-b30b-37ce648319f9","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.2277482} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ddeb99d1-0233-433b-af1f-3a4ef4476fc5","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.2280073} 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":"c3a1c76f63ea54ae0fac895186ab94c2"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68838af8-0a4e-499f-8371-fade71662c09","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68838af8-0a4e-499f-8371-fade71662c09","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:01.227735402Z"}]},"request_id":"08fbbd30-882b-46a5-9529-2be114215661","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.2329688} 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":"c3a1c76f63ea54ae0fac895186ab94c2"},"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":"09/Jul/2024:08:55:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c3a1c76f63ea54ae0fac895186ab94c2"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"c3a1c76f63ea54ae0fac895186ab94c2","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMX0.a-BxWmvbP44TgdWNghKAs2OTFinugx2uwEgDq5FsfDw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"df9ed3423940dd4da37dfb791bee93b2","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:01Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.041837,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515301,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMX0.a-BxWmvbP44TgdWNghKAs2OTFinugx2uwEgDq5FsfDw"} 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":"df9ed3423940dd4da37dfb791bee93b2"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a417d3c-dd1d-43ed-9cf9-9711ab803989","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6d14e833-db3b-4d18-b9f1-1964ff6399b0","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.2644398} 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":"df9ed3423940dd4da37dfb791bee93b2"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fd592ad8-6c9d-4843-8f16-da1d07f96e23","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.2700245} 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":"df9ed3423940dd4da37dfb791bee93b2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a417d3c-dd1d-43ed-9cf9-9711ab803989","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"a10999af-cef8-45ed-a8a6-f01f3b375e3d","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.2827103} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"97100710-8a82-45c6-acff-44d6265fcd06","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.2830114} 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":"df9ed3423940dd4da37dfb791bee93b2"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a417d3c-dd1d-43ed-9cf9-9711ab803989","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a417d3c-dd1d-43ed-9cf9-9711ab803989","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:01.282697352Z"}]},"request_id":"0896ba58-62b6-4616-a451-1fbabe4101d0","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.2880044} 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":"df9ed3423940dd4da37dfb791bee93b2"},"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":"09/Jul/2024:08:55:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"df9ed3423940dd4da37dfb791bee93b2"} device-1 | {"level":"info","message":"POST /devices? 201 50ms","method":"POST","requestID":"df9ed3423940dd4da37dfb791bee93b2","responseTime":50,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMX0.a-BxWmvbP44TgdWNghKAs2OTFinugx2uwEgDq5FsfDw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"56cbb256e38715d464bb442182157bfd","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:01Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.9986,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515301,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMX0.a-BxWmvbP44TgdWNghKAs2OTFinugx2uwEgDq5FsfDw"} 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":"56cbb256e38715d464bb442182157bfd"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2af3a1fa-865a-4ebe-8ac1-10e3221ce79c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"68199aeb-b3cd-45d1-8308-0c19ad2bb53b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.318791} 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":"56cbb256e38715d464bb442182157bfd"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9ee512e9-8e5b-42ec-b442-41f2a7727bd7","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.3246245} 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":"56cbb256e38715d464bb442182157bfd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2af3a1fa-865a-4ebe-8ac1-10e3221ce79c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"a8afe072-94ba-40df-9a6a-bde42785d4ad","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.3362002} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e82e91df-4e89-43bd-8931-5a53440770fa","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.336457} 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":"56cbb256e38715d464bb442182157bfd"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2af3a1fa-865a-4ebe-8ac1-10e3221ce79c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2af3a1fa-865a-4ebe-8ac1-10e3221ce79c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:01.336184649Z"}]},"request_id":"555cfb2c-311c-496a-b6a7-410d58f0f26e","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.3408532} 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":"56cbb256e38715d464bb442182157bfd"},"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":"09/Jul/2024:08:55:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"56cbb256e38715d464bb442182157bfd"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"56cbb256e38715d464bb442182157bfd","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMX0.a-BxWmvbP44TgdWNghKAs2OTFinugx2uwEgDq5FsfDw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3a5faf013cabc07ec66260c3b59c3689","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:01Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.604496,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515301,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMX0.a-BxWmvbP44TgdWNghKAs2OTFinugx2uwEgDq5FsfDw"} 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":"3a5faf013cabc07ec66260c3b59c3689"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cfbc024-a5b9-4fce-b4d0-cd1ba442fafd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"27d4f870-8b8f-4b44-95f6-ff744a3c4d1a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.3686554} 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":"3a5faf013cabc07ec66260c3b59c3689"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"49be7c4a-13bd-45cb-8da9-7e3ef7acaa8b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.3731217} 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":"3a5faf013cabc07ec66260c3b59c3689"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cfbc024-a5b9-4fce-b4d0-cd1ba442fafd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"4995fecb-8f6c-4db1-8db2-2dd1ae819999","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.3862698} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7c1792b7-5864-49f7-ab0b-b8eba8b8c109","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.3863719} 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":"3a5faf013cabc07ec66260c3b59c3689"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cfbc024-a5b9-4fce-b4d0-cd1ba442fafd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cfbc024-a5b9-4fce-b4d0-cd1ba442fafd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:01.386257662Z"}]},"request_id":"5af56f91-480a-441e-af39-f4aefbd78db7","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.3917918} 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":"3a5faf013cabc07ec66260c3b59c3689"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"09/Jul/2024:08:55:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3a5faf013cabc07ec66260c3b59c3689"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"3a5faf013cabc07ec66260c3b59c3689","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMX0.a-BxWmvbP44TgdWNghKAs2OTFinugx2uwEgDq5FsfDw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6b10849005d9cbcbdd01bdd34522b236","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:01Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.129668,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515301,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMX0.a-BxWmvbP44TgdWNghKAs2OTFinugx2uwEgDq5FsfDw"} 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":"6b10849005d9cbcbdd01bdd34522b236"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b4d268f-6295-4126-aa2a-8dae179effe3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"dd77519c-8806-4b75-9c2a-8b67f3fef889","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.4224584} 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":"6b10849005d9cbcbdd01bdd34522b236"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"52483b11-fbc8-4695-bd12-acf7845f6f83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.4287198} 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":"6b10849005d9cbcbdd01bdd34522b236"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b4d268f-6295-4126-aa2a-8dae179effe3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"01bb639d-db2c-4fb8-9253-e92e7d3419b5","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.4382885} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2a465616-a15a-4556-9d97-324d594bb009","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.4384675} 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":"6b10849005d9cbcbdd01bdd34522b236"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b4d268f-6295-4126-aa2a-8dae179effe3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b4d268f-6295-4126-aa2a-8dae179effe3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:01.438271197Z"}]},"request_id":"3338776e-58c4-4279-884e-ecbf696ed493","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.443135} 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":"6b10849005d9cbcbdd01bdd34522b236"},"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":"09/Jul/2024:08:55:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6b10849005d9cbcbdd01bdd34522b236"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"6b10849005d9cbcbdd01bdd34522b236","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMX0.a-BxWmvbP44TgdWNghKAs2OTFinugx2uwEgDq5FsfDw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"500e073658667b6b1a15fcf952565b49","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:01Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.672735,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515301,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMX0.a-BxWmvbP44TgdWNghKAs2OTFinugx2uwEgDq5FsfDw"} 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":"500e073658667b6b1a15fcf952565b49"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffd3ed34c-e45c-4fa8-94d5-b42a78321b70","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c4162e2d-adab-4965-9aa2-6a2e9a92da64","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.4668407} 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":"500e073658667b6b1a15fcf952565b49"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2ad287b8-4acd-4a15-b013-7733099698ea","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.4716718} 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":"500e073658667b6b1a15fcf952565b49"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffd3ed34c-e45c-4fa8-94d5-b42a78321b70","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"0398e0af-d51d-4a91-921f-75d812b7d363","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.4902253} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f13df2d3-3298-4561-8c4e-25c9fbd54257","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.4904115} 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":"500e073658667b6b1a15fcf952565b49"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffd3ed34c-e45c-4fa8-94d5-b42a78321b70","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffd3ed34c-e45c-4fa8-94d5-b42a78321b70","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:01.490204574Z"}]},"request_id":"f89bb6d9-eb7e-4745-9958-2a13a8a8680c","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.494969} 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":"500e073658667b6b1a15fcf952565b49"},"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":"09/Jul/2024:08:55:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"500e073658667b6b1a15fcf952565b49"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"500e073658667b6b1a15fcf952565b49","responseTime":46,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMX0.a-BxWmvbP44TgdWNghKAs2OTFinugx2uwEgDq5FsfDw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0c996b9715385ded6e40db6e50d12462","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:01Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.932621,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515301,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMX0.a-BxWmvbP44TgdWNghKAs2OTFinugx2uwEgDq5FsfDw"} 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":"0c996b9715385ded6e40db6e50d12462"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc214f61c-82b0-4b61-a302-b34eedece481","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"37fc3b9f-3bd0-4e74-a1e2-84922ca9fb7e","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.5260043} 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":"0c996b9715385ded6e40db6e50d12462"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8a15040d-bb1e-4028-a6ab-426deae2eb6c","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.530993} 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":"0c996b9715385ded6e40db6e50d12462"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc214f61c-82b0-4b61-a302-b34eedece481","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"ee129dbf-0fda-423a-acce-853095d8581b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.5445435} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"176450de-8969-4b43-b19b-72b445f5b4bc","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.5447915} 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":"0c996b9715385ded6e40db6e50d12462"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc214f61c-82b0-4b61-a302-b34eedece481","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc214f61c-82b0-4b61-a302-b34eedece481","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:01.544523300Z"}]},"request_id":"af839f6a-f904-4966-b185-b837fcea1c51","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.549587} 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":"0c996b9715385ded6e40db6e50d12462"},"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":"09/Jul/2024:08:55:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0c996b9715385ded6e40db6e50d12462"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"0c996b9715385ded6e40db6e50d12462","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMX0.a-BxWmvbP44TgdWNghKAs2OTFinugx2uwEgDq5FsfDw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"5cb709040dee2e2c986db8adbd2f99ba","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:01Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.882347,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515301,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMX0.a-BxWmvbP44TgdWNghKAs2OTFinugx2uwEgDq5FsfDw"} 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":"5cb709040dee2e2c986db8adbd2f99ba"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F059776a6-1e8c-4bc2-9622-b2a4320b340a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"035fd706-2ba9-44eb-b8ce-352bd2e45dd8","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.5810938} 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":"5cb709040dee2e2c986db8adbd2f99ba"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"af32c652-19b5-4b15-a481-543bcea54bc1","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.589342} 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":"5cb709040dee2e2c986db8adbd2f99ba"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F059776a6-1e8c-4bc2-9622-b2a4320b340a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"6aa38fa0-69d2-4901-9c07-62541966855d","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.6080515} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"34b925d9-f53d-4935-a760-9fbac009f5ae","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.608486} 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":"5cb709040dee2e2c986db8adbd2f99ba"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F059776a6-1e8c-4bc2-9622-b2a4320b340a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F059776a6-1e8c-4bc2-9622-b2a4320b340a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:01.608020485Z"}]},"request_id":"c540fec6-668c-4763-b310-17c647366f98","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.6153884} 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":"5cb709040dee2e2c986db8adbd2f99ba"},"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":"09/Jul/2024:08:55:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.064","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5cb709040dee2e2c986db8adbd2f99ba"} device-1 | {"level":"info","message":"POST /devices? 201 58ms","method":"POST","requestID":"5cb709040dee2e2c986db8adbd2f99ba","responseTime":58,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMX0.a-BxWmvbP44TgdWNghKAs2OTFinugx2uwEgDq5FsfDw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d56286207837ed200a6e17964147b5b4","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:01Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.271256,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515301,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMX0.a-BxWmvbP44TgdWNghKAs2OTFinugx2uwEgDq5FsfDw"} 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":"d56286207837ed200a6e17964147b5b4"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1afd10b1-0d3b-4f10-a8b7-943c51a4d47f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ee7c1c1b-0c7f-4278-acb6-0371da7eb3d8","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.650751} 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":"d56286207837ed200a6e17964147b5b4"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e10b8c69-d70c-45d5-ab7e-e935f681933d","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.6587882} 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":"d56286207837ed200a6e17964147b5b4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1afd10b1-0d3b-4f10-a8b7-943c51a4d47f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"860dbaa3-3c81-4004-8412-6577dc4a1847","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.6711586} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f3ca3645-c2f6-4be3-bc23-9266580619e3","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.6714935} 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":"d56286207837ed200a6e17964147b5b4"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1afd10b1-0d3b-4f10-a8b7-943c51a4d47f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1afd10b1-0d3b-4f10-a8b7-943c51a4d47f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:01.671136045Z"}]},"request_id":"bbe23990-513d-4637-a049-eccc0d5e3a67","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.6781704} 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":"d56286207837ed200a6e17964147b5b4"},"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":"09/Jul/2024:08:55:01 +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":"d56286207837ed200a6e17964147b5b4"} device-1 | {"level":"info","message":"POST /devices? 201 57ms","method":"POST","requestID":"d56286207837ed200a6e17964147b5b4","responseTime":57,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMX0.a-BxWmvbP44TgdWNghKAs2OTFinugx2uwEgDq5FsfDw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"1356f3f5a7c5d93b8e9064232c4a2ba9","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:01Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.569224,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515301,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMX0.a-BxWmvbP44TgdWNghKAs2OTFinugx2uwEgDq5FsfDw"} 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":"1356f3f5a7c5d93b8e9064232c4a2ba9"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef94e988-259a-4ef4-af6b-d8f0be230210","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ac40657d-7249-4c03-b683-34678715e549","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.7143786} 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":"1356f3f5a7c5d93b8e9064232c4a2ba9"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ffda3451-1126-4fa5-b102-b4a1393fbc45","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.723466} 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":"1356f3f5a7c5d93b8e9064232c4a2ba9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef94e988-259a-4ef4-af6b-d8f0be230210","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"f18563b6-309c-4392-ac73-aedd14eb9059","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.7424607} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6557d377-2198-45d3-983f-30ed9898f595","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.7428007} 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":"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":"1356f3f5a7c5d93b8e9064232c4a2ba9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":23}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef94e988-259a-4ef4-af6b-d8f0be230210","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef94e988-259a-4ef4-af6b-d8f0be230210","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:01.742437836Z"}]},"request_id":"61012959-35e2-486d-9fec-0f58c8168b83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.749823} 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":"1356f3f5a7c5d93b8e9064232c4a2ba9"},"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":"09/Jul/2024:08:55:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"278","request_time":"0.069","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1356f3f5a7c5d93b8e9064232c4a2ba9"} device-1 | {"level":"info","message":"POST /devices? 201 63ms","method":"POST","requestID":"1356f3f5a7c5d93b8e9064232c4a2ba9","responseTime":63,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMX0.a-BxWmvbP44TgdWNghKAs2OTFinugx2uwEgDq5FsfDw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"39e090b0e41b47ba17ab335449a4946c","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:01Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.359023,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515301,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMX0.a-BxWmvbP44TgdWNghKAs2OTFinugx2uwEgDq5FsfDw"} 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":"39e090b0e41b47ba17ab335449a4946c"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cadf94b-b62c-41e9-b69b-af07175fd2c9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"49efed47-f541-48e1-b899-dcfe1a0df64a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.7913578} 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":"39e090b0e41b47ba17ab335449a4946c"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e1dab075-acf0-432f-9328-8da5fc2a9f30","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.799334} 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":"39e090b0e41b47ba17ab335449a4946c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cadf94b-b62c-41e9-b69b-af07175fd2c9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"7038d0ff-288f-4bda-8b7a-9a276532a033","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.8138506} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"873689d0-a5f7-490a-a15b-7b1de8101141","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.814359} 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":"39e090b0e41b47ba17ab335449a4946c"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cadf94b-b62c-41e9-b69b-af07175fd2c9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cadf94b-b62c-41e9-b69b-af07175fd2c9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:01.813820502Z"}]},"request_id":"b72fbab4-f971-4200-9299-375acb2b94dc","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.821357} 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":"39e090b0e41b47ba17ab335449a4946c"},"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 61ms","method":"POST","requestID":"39e090b0e41b47ba17ab335449a4946c","responseTime":61,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"09/Jul/2024:08:55:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1069","request_time":"0.068","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"39e090b0e41b47ba17ab335449a4946c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMX0.a-BxWmvbP44TgdWNghKAs2OTFinugx2uwEgDq5FsfDw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c552a46f2c953e3cba0f243b76d70d84","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:01Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.250867,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515301,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMX0.a-BxWmvbP44TgdWNghKAs2OTFinugx2uwEgDq5FsfDw"} 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":"c552a46f2c953e3cba0f243b76d70d84"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1bab5f8-3d7d-4d60-bc84-04d4c294db68","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c9743b27-55ea-4d49-ad55-1d7fa6237a27","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.8600311} 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":"c552a46f2c953e3cba0f243b76d70d84"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0b23ba70-dd52-4443-a729-67459a321576","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.8676355} 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":"c552a46f2c953e3cba0f243b76d70d84"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1bab5f8-3d7d-4d60-bc84-04d4c294db68","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"9bf9082e-5944-4256-b7b7-6e90e73897f7","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.8854046} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"19cc1d7e-2388-4887-b7f3-3008562326bf","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.8856564} 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":"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":"c552a46f2c953e3cba0f243b76d70d84"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1bab5f8-3d7d-4d60-bc84-04d4c294db68","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1bab5f8-3d7d-4d60-bc84-04d4c294db68","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:01.885373313Z"}]},"request_id":"fd1fff54-c96c-4083-b7eb-da9c21cb7925","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.8925283} 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":"c552a46f2c953e3cba0f243b76d70d84"},"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":"09/Jul/2024:08:55:01 +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":"c552a46f2c953e3cba0f243b76d70d84"} device-1 | {"level":"info","message":"POST /devices? 201 58ms","method":"POST","requestID":"c552a46f2c953e3cba0f243b76d70d84","responseTime":58,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMX0.a-BxWmvbP44TgdWNghKAs2OTFinugx2uwEgDq5FsfDw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6a97faf633d8dd08d2ff8c0af319f6dd","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:01Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.643844,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515301,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMX0.a-BxWmvbP44TgdWNghKAs2OTFinugx2uwEgDq5FsfDw"} 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":"6a97faf633d8dd08d2ff8c0af319f6dd"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe958d7b5-0616-464d-9ded-18e0839efd46","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"895d9e1e-be6c-46af-95e7-ef6a4c750e48","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.9274938} 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":"6a97faf633d8dd08d2ff8c0af319f6dd"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"678649ca-98e6-4719-81f8-79cb7846db0b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.9350839} 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":"6a97faf633d8dd08d2ff8c0af319f6dd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe958d7b5-0616-464d-9ded-18e0839efd46","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"6b396efb-31e9-4874-9c3e-633d74313bbe","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.948363} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ab2f69c8-dd74-45f3-98db-de9643b453a2","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.9485419} 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":"6a97faf633d8dd08d2ff8c0af319f6dd"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe958d7b5-0616-464d-9ded-18e0839efd46","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe958d7b5-0616-464d-9ded-18e0839efd46","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:01.948338064Z"}]},"request_id":"83afbfc3-948e-45a7-a02c-f2b8e09e5c21","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.9550045} 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":"6a97faf633d8dd08d2ff8c0af319f6dd"},"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":"09/Jul/2024:08:55:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1070","request_time":"0.061","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6a97faf633d8dd08d2ff8c0af319f6dd"} device-1 | {"level":"info","message":"POST /devices? 201 54ms","method":"POST","requestID":"6a97faf633d8dd08d2ff8c0af319f6dd","responseTime":54,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMX0.a-BxWmvbP44TgdWNghKAs2OTFinugx2uwEgDq5FsfDw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8ba6b117205a2e155ebdf42ba872080b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:01Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.921157,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:01Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9cadf94b-b62c-41e9-b69b-af07175fd2c9","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/9cadf94b-b62c-41e9-b69b-af07175fd2c9","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515301,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMX0.a-BxWmvbP44TgdWNghKAs2OTFinugx2uwEgDq5FsfDw"} 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":"8ba6b117205a2e155ebdf42ba872080b"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cadf94b-b62c-41e9-b69b-af07175fd2c9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cadf94b-b62c-41e9-b69b-af07175fd2c9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:01.813820502Z"}]},"request_id":"8473e653-e3f5-4b53-b5cf-c4dfb5de6b7a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.9849932} 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":"8ba6b117205a2e155ebdf42ba872080b"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a73bc27c-c71f-4fc0-b13d-d4a5002c4abd","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515301.9933114} 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":"8ba6b117205a2e155ebdf42ba872080b"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cadf94b-b62c-41e9-b69b-af07175fd2c9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cadf94b-b62c-41e9-b69b-af07175fd2c9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:01.813820502Z"}]},"request_id":"ce5d275d-cc5d-43a7-b569-14b8dd489db6","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515302.0099952} 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":"8ba6b117205a2e155ebdf42ba872080b"},"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":"09/Jul/2024:08:55:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/9cadf94b-b62c-41e9-b69b-af07175fd2c9? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8ba6b117205a2e155ebdf42ba872080b"} device-1 | {"level":"info","message":"PATCH /devices/9cadf94b-b62c-41e9-b69b-af07175fd2c9? 200 44ms","method":"PATCH","requestID":"8ba6b117205a2e155ebdf42ba872080b","responseTime":44,"status":200,"url":"/devices/9cadf94b-b62c-41e9-b69b-af07175fd2c9?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMn0.N9GwRnaLdxS6WFRP6O497o5D1hFwrYQIU08uxq9BPp8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"67b5329212cc6922527a8e7104b566be","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.19394,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c1bab5f8-3d7d-4d60-bc84-04d4c294db68","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/c1bab5f8-3d7d-4d60-bc84-04d4c294db68","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515302,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMn0.N9GwRnaLdxS6WFRP6O497o5D1hFwrYQIU08uxq9BPp8"} 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":"67b5329212cc6922527a8e7104b566be"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1bab5f8-3d7d-4d60-bc84-04d4c294db68","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1bab5f8-3d7d-4d60-bc84-04d4c294db68","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:01.885373313Z"}]},"request_id":"863960ad-5b5e-4146-bcce-63d28cc03643","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515302.0395563} 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":"67b5329212cc6922527a8e7104b566be"},"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":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4a635f07-61db-4bb2-9dd1-20f0053aa785","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515302.0508697} 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":"67b5329212cc6922527a8e7104b566be"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1bab5f8-3d7d-4d60-bc84-04d4c294db68","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1bab5f8-3d7d-4d60-bc84-04d4c294db68","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:01.885373313Z"}]},"request_id":"6a67ba72-6b52-4c80-b96e-155a50219231","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515302.0629199} 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":"67b5329212cc6922527a8e7104b566be"},"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":"09/Jul/2024:08:55:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/c1bab5f8-3d7d-4d60-bc84-04d4c294db68? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"67b5329212cc6922527a8e7104b566be"} device-1 | {"level":"info","message":"PATCH /devices/c1bab5f8-3d7d-4d60-bc84-04d4c294db68? 200 43ms","method":"PATCH","requestID":"67b5329212cc6922527a8e7104b566be","responseTime":43,"status":200,"url":"/devices/c1bab5f8-3d7d-4d60-bc84-04d4c294db68?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMn0.N9GwRnaLdxS6WFRP6O497o5D1hFwrYQIU08uxq9BPp8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8302efdff5e74c5c6b5eb5d8f633d670","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.724309,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e958d7b5-0616-464d-9ded-18e0839efd46","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/e958d7b5-0616-464d-9ded-18e0839efd46","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515302,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMn0.N9GwRnaLdxS6WFRP6O497o5D1hFwrYQIU08uxq9BPp8"} 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":"8302efdff5e74c5c6b5eb5d8f633d670"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe958d7b5-0616-464d-9ded-18e0839efd46","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe958d7b5-0616-464d-9ded-18e0839efd46","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:01.948338064Z"}]},"request_id":"6bad0df4-eaed-449b-80ce-7f5b26953f74","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515302.0907724} 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":"8302efdff5e74c5c6b5eb5d8f633d670"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"64babff2-3741-4d62-9da1-33a01336ebd1","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515302.098299} 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":"8302efdff5e74c5c6b5eb5d8f633d670"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe958d7b5-0616-464d-9ded-18e0839efd46","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe958d7b5-0616-464d-9ded-18e0839efd46","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:01.948338064Z"}]},"request_id":"3be4080c-1668-4cfb-83a1-0120cb45d7f4","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515302.1091182} 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":"8302efdff5e74c5c6b5eb5d8f633d670"},"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":"09/Jul/2024:08:55:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/e958d7b5-0616-464d-9ded-18e0839efd46? 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":"8302efdff5e74c5c6b5eb5d8f633d670"} device-1 | {"level":"info","message":"PATCH /devices/e958d7b5-0616-464d-9ded-18e0839efd46? 200 37ms","method":"PATCH","requestID":"8302efdff5e74c5c6b5eb5d8f633d670","responseTime":37,"status":200,"url":"/devices/e958d7b5-0616-464d-9ded-18e0839efd46?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMn0.N9GwRnaLdxS6WFRP6O497o5D1hFwrYQIU08uxq9BPp8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c67440c786ad63c9e045d80557a75580","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.156227,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9cadf94b-b62c-41e9-b69b-af07175fd2c9","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/9cadf94b-b62c-41e9-b69b-af07175fd2c9","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515302,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMn0.N9GwRnaLdxS6WFRP6O497o5D1hFwrYQIU08uxq9BPp8"} 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":"c67440c786ad63c9e045d80557a75580"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cadf94b-b62c-41e9-b69b-af07175fd2c9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cadf94b-b62c-41e9-b69b-af07175fd2c9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:01.813820502Z"}]},"request_id":"3cd7f219-1a9d-4b99-a178-b844dcc53942","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515302.128868} 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":"c67440c786ad63c9e045d80557a75580"},"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:44070","level":"info","msg":"Received request.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.543958,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Received request.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Sent response.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.19011,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"client_addr":"127.0.0.1:51776","level":"info","msg":"Received request.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"client_addr":"127.0.0.1:51776","level":"info","msg":"Sent response.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.678571,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/68838af8-0a4e-499f-8371-fade71662c09","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/68838af8-0a4e-499f-8371-fade71662c09","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515302,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMn0.N9GwRnaLdxS6WFRP6O497o5D1hFwrYQIU08uxq9BPp8"} 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":"c67440c786ad63c9e045d80557a75580"},"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/0a417d3c-dd1d-43ed-9cf9-9711ab803989","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/0a417d3c-dd1d-43ed-9cf9-9711ab803989","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515302,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMn0.N9GwRnaLdxS6WFRP6O497o5D1hFwrYQIU08uxq9BPp8"} 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":"c67440c786ad63c9e045d80557a75580"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2af3a1fa-865a-4ebe-8ac1-10e3221ce79c","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/2af3a1fa-865a-4ebe-8ac1-10e3221ce79c","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515302,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMn0.N9GwRnaLdxS6WFRP6O497o5D1hFwrYQIU08uxq9BPp8"} 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":"c67440c786ad63c9e045d80557a75580"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:36372","level":"info","msg":"Received request.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"client_addr":"127.0.0.1:36372","level":"info","msg":"Sent response.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.116043,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c1bab5f8-3d7d-4d60-bc84-04d4c294db68","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/c1bab5f8-3d7d-4d60-bc84-04d4c294db68","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515302,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMn0.N9GwRnaLdxS6WFRP6O497o5D1hFwrYQIU08uxq9BPp8"} 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":"c67440c786ad63c9e045d80557a75580"},"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":"09/Jul/2024:08:55:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9cadf94b-b62c-41e9-b69b-af07175fd2c9? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c67440c786ad63c9e045d80557a75580"} device-1 | {"level":"info","message":"GET /devices/9cadf94b-b62c-41e9-b69b-af07175fd2c9? 200 33ms","method":"GET","requestID":"c67440c786ad63c9e045d80557a75580","responseTime":33,"status":200,"url":"/devices/9cadf94b-b62c-41e9-b69b-af07175fd2c9?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMn0.N9GwRnaLdxS6WFRP6O497o5D1hFwrYQIU08uxq9BPp8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c044fb0cbbe117c380e4c5c6d8630419","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.800086,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c1bab5f8-3d7d-4d60-bc84-04d4c294db68","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/c1bab5f8-3d7d-4d60-bc84-04d4c294db68","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515302,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMn0.N9GwRnaLdxS6WFRP6O497o5D1hFwrYQIU08uxq9BPp8"} 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":"c044fb0cbbe117c380e4c5c6d8630419"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1bab5f8-3d7d-4d60-bc84-04d4c294db68","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1bab5f8-3d7d-4d60-bc84-04d4c294db68","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:01.885373313Z"}]},"request_id":"046cc61b-67d3-48ed-b7e2-97b81b9a11d6","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515302.1690536} 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":"c044fb0cbbe117c380e4c5c6d8630419"},"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:44070","level":"info","msg":"Received request.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.81077,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Received request.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Sent response.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.628808,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"client_addr":"127.0.0.1:51776","level":"info","msg":"Received request.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"client_addr":"127.0.0.1:51776","level":"info","msg":"Sent response.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.754701,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"client_addr":"127.0.0.1:36372","level":"info","msg":"Received request.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0cfbc024-a5b9-4fce-b4d0-cd1ba442fafd","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/0cfbc024-a5b9-4fce-b4d0-cd1ba442fafd","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515302,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMn0.N9GwRnaLdxS6WFRP6O497o5D1hFwrYQIU08uxq9BPp8"} 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":"c044fb0cbbe117c380e4c5c6d8630419"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8b4d268f-6295-4126-aa2a-8dae179effe3","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/8b4d268f-6295-4126-aa2a-8dae179effe3","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515302,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMn0.N9GwRnaLdxS6WFRP6O497o5D1hFwrYQIU08uxq9BPp8"} 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":"c044fb0cbbe117c380e4c5c6d8630419"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fd3ed34c-e45c-4fa8-94d5-b42a78321b70","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/fd3ed34c-e45c-4fa8-94d5-b42a78321b70","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515302,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMn0.N9GwRnaLdxS6WFRP6O497o5D1hFwrYQIU08uxq9BPp8"} 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":"c044fb0cbbe117c380e4c5c6d8630419"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:36372","level":"info","msg":"Sent response.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.801804,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c214f61c-82b0-4b61-a302-b34eedece481","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/c214f61c-82b0-4b61-a302-b34eedece481","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515302,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMn0.N9GwRnaLdxS6WFRP6O497o5D1hFwrYQIU08uxq9BPp8"} 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":"c044fb0cbbe117c380e4c5c6d8630419"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.830937,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"client_addr":"127.0.0.1:36374","level":"info","msg":"Received request.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e958d7b5-0616-464d-9ded-18e0839efd46","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/e958d7b5-0616-464d-9ded-18e0839efd46","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515302,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMn0.N9GwRnaLdxS6WFRP6O497o5D1hFwrYQIU08uxq9BPp8"} 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":"c044fb0cbbe117c380e4c5c6d8630419"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:36374","level":"info","msg":"Sent response.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.835164,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9cadf94b-b62c-41e9-b69b-af07175fd2c9","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/9cadf94b-b62c-41e9-b69b-af07175fd2c9","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515302,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMn0.N9GwRnaLdxS6WFRP6O497o5D1hFwrYQIU08uxq9BPp8"} 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":"c044fb0cbbe117c380e4c5c6d8630419"},"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":"09/Jul/2024:08:55:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c1bab5f8-3d7d-4d60-bc84-04d4c294db68? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c044fb0cbbe117c380e4c5c6d8630419"} device-1 | {"level":"info","message":"GET /devices/c1bab5f8-3d7d-4d60-bc84-04d4c294db68? 200 39ms","method":"GET","requestID":"c044fb0cbbe117c380e4c5c6d8630419","responseTime":39,"status":200,"url":"/devices/c1bab5f8-3d7d-4d60-bc84-04d4c294db68?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMn0.N9GwRnaLdxS6WFRP6O497o5D1hFwrYQIU08uxq9BPp8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"548e476aa9755907fc6aa1a65984f1ec","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.8883,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e958d7b5-0616-464d-9ded-18e0839efd46","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/e958d7b5-0616-464d-9ded-18e0839efd46","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515302,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMn0.N9GwRnaLdxS6WFRP6O497o5D1hFwrYQIU08uxq9BPp8"} 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":"548e476aa9755907fc6aa1a65984f1ec"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe958d7b5-0616-464d-9ded-18e0839efd46","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe958d7b5-0616-464d-9ded-18e0839efd46","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:01.948338064Z"}]},"request_id":"2fa80522-433d-4928-9172-1439384b7da0","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515302.2140298} 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":"548e476aa9755907fc6aa1a65984f1ec"},"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:44070","level":"info","msg":"Received request.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.701117,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Received request.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Sent response.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.575994,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"client_addr":"127.0.0.1:51776","level":"info","msg":"Received request.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"client_addr":"127.0.0.1:51776","level":"info","msg":"Sent response.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.546831,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/059776a6-1e8c-4bc2-9622-b2a4320b340a","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/059776a6-1e8c-4bc2-9622-b2a4320b340a","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515302,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMn0.N9GwRnaLdxS6WFRP6O497o5D1hFwrYQIU08uxq9BPp8"} 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":"548e476aa9755907fc6aa1a65984f1ec"},"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/1afd10b1-0d3b-4f10-a8b7-943c51a4d47f","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/1afd10b1-0d3b-4f10-a8b7-943c51a4d47f","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515302,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMn0.N9GwRnaLdxS6WFRP6O497o5D1hFwrYQIU08uxq9BPp8"} 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":"548e476aa9755907fc6aa1a65984f1ec"},"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/ef94e988-259a-4ef4-af6b-d8f0be230210","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/ef94e988-259a-4ef4-af6b-d8f0be230210","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515302,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMn0.N9GwRnaLdxS6WFRP6O497o5D1hFwrYQIU08uxq9BPp8"} 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":"548e476aa9755907fc6aa1a65984f1ec"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:36372","level":"info","msg":"Received request.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"client_addr":"127.0.0.1:36372","level":"info","msg":"Sent response.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.661465,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9cadf94b-b62c-41e9-b69b-af07175fd2c9","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/9cadf94b-b62c-41e9-b69b-af07175fd2c9","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515302,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMn0.N9GwRnaLdxS6WFRP6O497o5D1hFwrYQIU08uxq9BPp8"} 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":"548e476aa9755907fc6aa1a65984f1ec"},"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":"09/Jul/2024:08:55:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e958d7b5-0616-464d-9ded-18e0839efd46? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"548e476aa9755907fc6aa1a65984f1ec"} device-1 | {"level":"info","message":"GET /devices/e958d7b5-0616-464d-9ded-18e0839efd46? 200 28ms","method":"GET","requestID":"548e476aa9755907fc6aa1a65984f1ec","responseTime":28,"status":200,"url":"/devices/e958d7b5-0616-464d-9ded-18e0839efd46?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMn0.N9GwRnaLdxS6WFRP6O497o5D1hFwrYQIU08uxq9BPp8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ae6e74a48c40776b97b6c85fd5f6704e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.846361,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515302,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMn0.N9GwRnaLdxS6WFRP6O497o5D1hFwrYQIU08uxq9BPp8"} 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":"ae6e74a48c40776b97b6c85fd5f6704e"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4d501c0-d48b-4204-ae2b-b8e55cb22ee9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a517ed09-2872-4305-8b8c-c9fe5d041212","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515302.261388} 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":"ae6e74a48c40776b97b6c85fd5f6704e"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8da63763-fc72-4597-ac3b-c3938db41687","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515302.2672558} 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":"ae6e74a48c40776b97b6c85fd5f6704e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4d501c0-d48b-4204-ae2b-b8e55cb22ee9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"aedf2fd6-1517-48e1-90f4-22ef5e55e5c4","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515302.2797337} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"111baccf-576e-4e1f-8853-6453a6a134ef","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515302.2799764} 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":"ae6e74a48c40776b97b6c85fd5f6704e"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4d501c0-d48b-4204-ae2b-b8e55cb22ee9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4d501c0-d48b-4204-ae2b-b8e55cb22ee9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:02.279709096Z"}]},"request_id":"03683b00-30f0-4c93-9f96-6f25f58d8006","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515302.2852843} 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":"ae6e74a48c40776b97b6c85fd5f6704e"},"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":"09/Jul/2024:08:55:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"284","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ae6e74a48c40776b97b6c85fd5f6704e"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"ae6e74a48c40776b97b6c85fd5f6704e","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMn0.N9GwRnaLdxS6WFRP6O497o5D1hFwrYQIU08uxq9BPp8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6aa8f99c9e67c11dabc9aa4dddc24b62","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.039296,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515302,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMn0.N9GwRnaLdxS6WFRP6O497o5D1hFwrYQIU08uxq9BPp8"} 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":"6aa8f99c9e67c11dabc9aa4dddc24b62"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0536735e-19d1-41e8-94db-d0bdec8df066","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"47e46ab7-8dcb-4d0b-801e-a783f82321f4","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515302.3152628} 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":"6aa8f99c9e67c11dabc9aa4dddc24b62"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c51f5253-000b-4e82-bbc2-d17d4b1eedc5","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515302.321464} 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":"6aa8f99c9e67c11dabc9aa4dddc24b62"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0536735e-19d1-41e8-94db-d0bdec8df066","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"e4643baf-6781-4324-974e-6a3d534f145c","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515302.331894} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bb1bcaea-ec60-4cc2-b253-58721db3dc80","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515302.33202} 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":"6aa8f99c9e67c11dabc9aa4dddc24b62"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0536735e-19d1-41e8-94db-d0bdec8df066","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0536735e-19d1-41e8-94db-d0bdec8df066","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:02.331878956Z"}]},"request_id":"7ffd6085-06f4-4e0e-896e-9e2fbaa6ab97","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515302.3372493} 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":"6aa8f99c9e67c11dabc9aa4dddc24b62"},"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":"09/Jul/2024:08:55:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"545","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6aa8f99c9e67c11dabc9aa4dddc24b62"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"6aa8f99c9e67c11dabc9aa4dddc24b62","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMn0.N9GwRnaLdxS6WFRP6O497o5D1hFwrYQIU08uxq9BPp8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"890fd54e578c4afa8b499f3d6406eaf8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.811028,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515302,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwMn0.N9GwRnaLdxS6WFRP6O497o5D1hFwrYQIU08uxq9BPp8"} 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":"890fd54e578c4afa8b499f3d6406eaf8"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2ccb97b0-6841-4cea-9c6b-6b86f27ba869","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a4c69f4c-24cb-481d-b815-c56ba69ff83c","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515302.3736606} 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":"890fd54e578c4afa8b499f3d6406eaf8"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ee6c04b3-6c9d-4f31-9536-aead8a9d77dc","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515302.3794537} 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":"890fd54e578c4afa8b499f3d6406eaf8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2ccb97b0-6841-4cea-9c6b-6b86f27ba869","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"621f7663-fa7c-4317-ad25-2eae6f78a7b0","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515302.3914728} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d9823e92-2afc-49d2-a732-3ef41fa01188","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515302.3919759} 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":"890fd54e578c4afa8b499f3d6406eaf8"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2ccb97b0-6841-4cea-9c6b-6b86f27ba869","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2ccb97b0-6841-4cea-9c6b-6b86f27ba869","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:02.391447504Z"}]},"request_id":"3bb86153-73dc-4748-91d4-84ea1293ce14","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515302.3968377} 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":"890fd54e578c4afa8b499f3d6406eaf8"},"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":"09/Jul/2024:08:55: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.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"890fd54e578c4afa8b499f3d6406eaf8"} device-1 | {"level":"info","message":"POST /devices? 201 53ms","method":"POST","requestID":"890fd54e578c4afa8b499f3d6406eaf8","responseTime":53,"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":"520b103381c9cb0068a0bb4c273a0cbe","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"09/Jul/2024:08:55:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869/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":"520b103381c9cb0068a0bb4c273a0cbe"} device-1 | {"level":"info","message":"OPTIONS /devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869/websocket 200 1ms","method":"OPTIONS","requestID":"520b103381c9cb0068a0bb4c273a0cbe","responseTime":1,"status":200,"url":"/devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwNH0.5h5DDLEqa_PzLRTU_u83fw3d0SUmPgj5300K5QHUeWU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"61dc1c27f64814af6c7dc8e7a67805fd","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.744942,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515304,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwNH0.5h5DDLEqa_PzLRTU_u83fw3d0SUmPgj5300K5QHUeWU"} 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 /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":"61dc1c27f64814af6c7dc8e7a67805fd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8fa7abf35bb2c345ce37b2fd3e3a374e","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"09/Jul/2024:08:55:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9/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":"8fa7abf35bb2c345ce37b2fd3e3a374e"} device-1 | {"level":"info","message":"OPTIONS /devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9/websocket 200 1ms","method":"OPTIONS","requestID":"8fa7abf35bb2c345ce37b2fd3e3a374e","responseTime":1,"status":200,"url":"/devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwNH0.5h5DDLEqa_PzLRTU_u83fw3d0SUmPgj5300K5QHUeWU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7395e0f3a8a9262d9cfcfe4862f1b73b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.662652,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515304,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwNH0.5h5DDLEqa_PzLRTU_u83fw3d0SUmPgj5300K5QHUeWU"} 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":"7395e0f3a8a9262d9cfcfe4862f1b73b"},"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":"09/Jul/2024:08:55:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869/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":"61dc1c27f64814af6c7dc8e7a67805fd"} device-1 | {"level":"info","message":"POST /devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869/websocket 200 23ms","method":"POST","requestID":"61dc1c27f64814af6c7dc8e7a67805fd","responseTime":23,"status":200,"url":"/devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"09/Jul/2024:08:55:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9/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":"7395e0f3a8a9262d9cfcfe4862f1b73b"} device-1 | {"level":"info","message":"POST /devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9/websocket 200 18ms","method":"POST","requestID":"7395e0f3a8a9262d9cfcfe4862f1b73b","responseTime":18,"status":200,"url":"/devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwNH0.5h5DDLEqa_PzLRTU_u83fw3d0SUmPgj5300K5QHUeWU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"256e7e7b5d7e1a861c40eda29122dbc3","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.74183,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515304,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwNH0.5h5DDLEqa_PzLRTU_u83fw3d0SUmPgj5300K5QHUeWU"} 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":"256e7e7b5d7e1a861c40eda29122dbc3"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2ccb97b0-6841-4cea-9c6b-6b86f27ba869","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2ccb97b0-6841-4cea-9c6b-6b86f27ba869","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:02.391447504Z"}]},"request_id":"25c87136-7c39-4f3f-a17b-ca56d3dfb8b4","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515304.4477913} 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":"256e7e7b5d7e1a861c40eda29122dbc3"},"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":"09/Jul/2024:08:55:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869? 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":"256e7e7b5d7e1a861c40eda29122dbc3"} device-1 | {"level":"info","message":"GET /devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869? 200 11ms","method":"GET","requestID":"256e7e7b5d7e1a861c40eda29122dbc3","responseTime":11,"status":200,"url":"/devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwNH0.5h5DDLEqa_PzLRTU_u83fw3d0SUmPgj5300K5QHUeWU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5481cab6af7c92fc9022604214e961fd","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:44070","level":"info","msg":"Received request.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.193738,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515304,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwNH0.5h5DDLEqa_PzLRTU_u83fw3d0SUmPgj5300K5QHUeWU"} 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":"5481cab6af7c92fc9022604214e961fd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a4a3262-5be2-4b32-9426-1ccb963e563a"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a4a3262-5be2-4b32-9426-1ccb963e563a"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a4a3262-5be2-4b32-9426-1ccb963e563a"},"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:44070","level":"info","msg":"Received request.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.489367,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0536735e-19d1-41e8-94db-d0bdec8df066","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/0536735e-19d1-41e8-94db-d0bdec8df066","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515304,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwNH0.5h5DDLEqa_PzLRTU_u83fw3d0SUmPgj5300K5QHUeWU"} 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":"ef0ec830-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Received request.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Sent response.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.327402,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515304,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwNH0.5h5DDLEqa_PzLRTU_u83fw3d0SUmPgj5300K5QHUeWU"} 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":"ef0f3d60-3dd0-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0536735e-19d1-41e8-94db-d0bdec8df066","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0536735e-19d1-41e8-94db-d0bdec8df066","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:02.331878956Z"}]},"request_id":"d03b6ff3-dcb6-4c1a-943e-c91d304b4e75","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515304.5171907} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2ccb97b0-6841-4cea-9c6b-6b86f27ba869","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2ccb97b0-6841-4cea-9c6b-6b86f27ba869","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:02.391447504Z"}]},"request_id":"f44350aa-fab3-4d0d-8ae6-73a5ad1217d8","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515304.5252323} authorization-1 | {"level":"info","message":"POST /relations/query 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ef0ec830-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":13}} 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":"ef0f3d60-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869? 200 34ms","method":"GET","requestID":"ef0f3d60-3dd0-11ef-ab4a-87fddd4f273f","responseTime":35,"status":200,"url":"/devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869?"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.99339,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515304,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwNH0.5h5DDLEqa_PzLRTU_u83fw3d0SUmPgj5300K5QHUeWU"} 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":"ef0ec830-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/0536735e-19d1-41e8-94db-d0bdec8df066? 200 43ms","method":"GET","requestID":"ef0ec830-3dd0-11ef-ab4a-87fddd4f273f","responseTime":43,"status":200,"url":"/devices/0536735e-19d1-41e8-94db-d0bdec8df066?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a4a3262-5be2-4b32-9426-1ccb963e563a"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a4a3262-5be2-4b32-9426-1ccb963e563a"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a4a3262-5be2-4b32-9426-1ccb963e563a"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a4a3262-5be2-4b32-9426-1ccb963e563a"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a4a3262-5be2-4b32-9426-1ccb963e563a"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a4a3262-5be2-4b32-9426-1ccb963e563a"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a4a3262-5be2-4b32-9426-1ccb963e563a"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a4a3262-5be2-4b32-9426-1ccb963e563a"},"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/4a4a3262-5be2-4b32-9426-1ccb963e563a"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.947058,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Received request.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515304,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwNH0.5h5DDLEqa_PzLRTU_u83fw3d0SUmPgj5300K5QHUeWU"} 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":"ef1d2010-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Sent response.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.80862,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"client_addr":"127.0.0.1:51776","level":"info","msg":"Received request.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515304,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwNH0.5h5DDLEqa_PzLRTU_u83fw3d0SUmPgj5300K5QHUeWU"} 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":"ef1d4720-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:51776","level":"info","msg":"Sent response.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.95844,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4d501c0-d48b-4204-ae2b-b8e55cb22ee9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8ea7b8c6-df62-4021-aaf6-a406336bee04","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515304.6036272} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9","object_type":"device","rebac_allow":false,"scope_allow":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":"ef1d9540-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} 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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4d501c0-d48b-4204-ae2b-b8e55cb22ee9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4d501c0-d48b-4204-ae2b-b8e55cb22ee9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:02.279709096Z"}]},"request_id":"4da5eb93-6ce8-43ee-ba98-08ab931639c5","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515304.6090117} device-1 | {"level":"info","message":"POST /devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9/signaling 200 17ms","method":"POST","requestID":"ef1d9540-3dd0-11ef-ab4a-87fddd4f273f","responseTime":17,"status":200,"url":"/devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9/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":"ef1d2010-3dd0-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2ccb97b0-6841-4cea-9c6b-6b86f27ba869","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2ccb97b0-6841-4cea-9c6b-6b86f27ba869","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:02.391447504Z"}]},"request_id":"eee54d71-ecf9-44ca-9204-188a53d8dedd","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515304.6126387} 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":"ef1d4720-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4a4a3262-5be2-4b32-9426-1ccb963e563a#owner@http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4a4a3262-5be2-4b32-9426-1ccb963e563a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"f4fb30eb-40b1-40c1-8d78-87426ebe6bc7","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515304.6189103} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"789be035-bd84-4a7f-9e65-0eda610942d9","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515304.6190543} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9? 200 28ms","method":"GET","requestID":"ef1d2010-3dd0-11ef-ab4a-87fddd4f273f","responseTime":28,"status":200,"url":"/devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9?"} 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":"5481cab6af7c92fc9022604214e961fd"},"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/2ccb97b0-6841-4cea-9c6b-6b86f27ba869? 200 28ms","method":"GET","requestID":"ef1d4720-3dd0-11ef-ab4a-87fddd4f273f","responseTime":28,"status":200,"url":"/devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869?"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2ccb97b0-6841-4cea-9c6b-6b86f27ba869","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c31b740a-dedc-40d6-9ca3-1eca8002be3c","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515304.6267035} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.675418,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"ef2117b0-3dd0-11ef-ab4a-87fddd4f273f"},"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/4a4a3262-5be2-4b32-9426-1ccb963e563a","user":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:04Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869/signaling 200 15ms","method":"POST","requestID":"ef2117b0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":15,"status":200,"url":"/devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869/signaling"} gateway-1 | {"time_local":"09/Jul/2024:08:55:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.182","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5481cab6af7c92fc9022604214e961fd"} experiment-1 | {"level":"info","message":"POST /experiments? 201 177ms","method":"POST","requestID":"5481cab6af7c92fc9022604214e961fd","responseTime":177,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4d501c0-d48b-4204-ae2b-b8e55cb22ee9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"293e9137-b578-49a2-9196-04de12a45fbe","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515304.635961} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.789493,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"ef22c560-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwNH0.5h5DDLEqa_PzLRTU_u83fw3d0SUmPgj5300K5QHUeWU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"77707380ce43c99b558e3d5dc7434ca8","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9/signaling 200 10ms","method":"POST","requestID":"ef22c560-3dd0-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.686996,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Received request.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515304,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwNH0.5h5DDLEqa_PzLRTU_u83fw3d0SUmPgj5300K5QHUeWU"} 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":"77707380ce43c99b558e3d5dc7434ca8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2ccb97b0-6841-4cea-9c6b-6b86f27ba869","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"24143f58-a621-441f-b25d-c8101f509937","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515304.6489165} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Sent response.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.210969,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869","object_type":"device","rebac_allow":false,"scope_allow":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":"ef24e840-3dd0-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4d501c0-d48b-4204-ae2b-b8e55cb22ee9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4d501c0-d48b-4204-ae2b-b8e55cb22ee9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:02.279709096Z"}]},"request_id":"ddea7759-d8f6-406f-991c-9a8ebda6cb03","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515304.6513937} 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":"77707380ce43c99b558e3d5dc7434ca8"},"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/2ccb97b0-6841-4cea-9c6b-6b86f27ba869/signaling 200 13ms","method":"POST","requestID":"ef24e840-3dd0-11ef-ab4a-87fddd4f273f","responseTime":13,"status":200,"url":"/devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"09/Jul/2024:08:55:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9? HTTP/1.1","status": "200","body_bytes_sent":"283","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"77707380ce43c99b558e3d5dc7434ca8"} device-1 | {"level":"info","message":"GET /devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9? 200 17ms","method":"GET","requestID":"77707380ce43c99b558e3d5dc7434ca8","responseTime":17,"status":200,"url":"/devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a4a3262-5be2-4b32-9426-1ccb963e563a"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a4a3262-5be2-4b32-9426-1ccb963e563a"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"a35412d0-1949-47af-9112-ce6b4b7bef98"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"3c74ae84-6423-4bc9-913e-b84a4f8cdf0d"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"0dd0c5eb-d86c-4090-87f4-bc7ebb4e6811"}]},"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/2ccb97b0-6841-4cea-9c6b-6b86f27ba869"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwNH0.5h5DDLEqa_PzLRTU_u83fw3d0SUmPgj5300K5QHUeWU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d8a6a39a401e763d23015d4bd8e3da62","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.831798,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515304,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwNH0.5h5DDLEqa_PzLRTU_u83fw3d0SUmPgj5300K5QHUeWU"} 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":"ef278050-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Received request.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Sent response.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.70146,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515304,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwNH0.5h5DDLEqa_PzLRTU_u83fw3d0SUmPgj5300K5QHUeWU"} 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":"d8a6a39a401e763d23015d4bd8e3da62"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2ccb97b0-6841-4cea-9c6b-6b86f27ba869","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2ccb97b0-6841-4cea-9c6b-6b86f27ba869","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:02.391447504Z"}]},"request_id":"1d1c5c78-75d9-45f9-824b-1eedd5421dd2","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515304.6721444} 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":"d8a6a39a401e763d23015d4bd8e3da62"},"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":"01J2BB7A06FFZ8K3PQF6133F83","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%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"068d9d3d-b849-4691-b0cd-342307ac77a7","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515304.6752944} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"43ca3a80-73b5-4445-bab9-40bea2029f8f","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515304.675519} gateway-1 | {"time_local":"09/Jul/2024:08:55:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869? 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":"d8a6a39a401e763d23015d4bd8e3da62"} device-1 | {"level":"info","message":"GET /devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869? 200 12ms","method":"GET","requestID":"d8a6a39a401e763d23015d4bd8e3da62","responseTime":12,"status":200,"url":"/devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869?"} 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":"ef278050-3dd0-11ef-ab4a-87fddd4f273f"},"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/b2967b30-2ef0-44dd-b968-c0ebbab5427f'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/b2967b30-2ef0-44dd-b968-c0ebbab5427f'"} 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 27ms","method":"POST","requestID":"ef278050-3dd0-11ef-ab4a-87fddd4f273f","responseTime":27,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a4a3262-5be2-4b32-9426-1ccb963e563a"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4d501c0-d48b-4204-ae2b-b8e55cb22ee9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"688e4694-f46b-4966-8ba3-efe2542531ef","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515304.7233777} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.241207,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9","object_type":"device","rebac_allow":false,"scope_allow":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":"ef3059f0-3dd0-11ef-ab4a-87fddd4f273f"},"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/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9/signaling 200 8ms","method":"POST","requestID":"ef3059f0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":8,"status":200,"url":"/devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2ccb97b0-6841-4cea-9c6b-6b86f27ba869","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1a79613a-d822-4ac5-a987-a84a2fcfecfe","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515304.7332509} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.163955,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869","object_type":"device","rebac_allow":false,"scope_allow":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":"ef31e090-3dd0-11ef-ab4a-87fddd4f273f"},"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/2ccb97b0-6841-4cea-9c6b-6b86f27ba869/signaling 200 9ms","method":"POST","requestID":"ef31e090-3dd0-11ef-ab4a-87fddd4f273f","responseTime":9,"status":200,"url":"/devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/b2967b30-2ef0-44dd-b968-c0ebbab5427f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b2967b30-2ef0-44dd-b968-c0ebbab5427f","statusDeviceA":"new","statusDeviceB":"connecting"},"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":"new","url":"http://localhost/devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/b2967b30-2ef0-44dd-b968-c0ebbab5427f"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c6f9ad307dbbf151cc4db6954d74f9f4","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"c6f9ad307dbbf151cc4db6954d74f9f4","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"c6f9ad307dbbf151cc4db6954d74f9f4"} device-1 | {"data":{"peerconnection":"b2967b30-2ef0-44dd-b968-c0ebbab5427f","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"b2967b30-2ef0-44dd-b968-c0ebbab5427f","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/b2967b30-2ef0-44dd-b968-c0ebbab5427f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b2967b30-2ef0-44dd-b968-c0ebbab5427f","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":"9527a50e15388031f84f74ddb8b3c966","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/2ccb97b0-6841-4cea-9c6b-6b86f27ba869"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/b2967b30-2ef0-44dd-b968-c0ebbab5427f"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb2967b30-2ef0-44dd-b968-c0ebbab5427f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2240e596-4f6d-4406-aae8-76de1760ca96","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515304.848902} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.17361,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b2967b30-2ef0-44dd-b968-c0ebbab5427f","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/b2967b30-2ef0-44dd-b968-c0ebbab5427f","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":"ef436cc0-3dd0-11ef-ab4a-87fddd4f273f"},"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/b2967b30-2ef0-44dd-b968-c0ebbab5427f 200 8ms","method":"GET","requestID":"ef436cc0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":8,"status":200,"url":"/peerconnections/b2967b30-2ef0-44dd-b968-c0ebbab5427f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 32ms","method":"POST","requestID":"9527a50e15388031f84f74ddb8b3c966","responseTime":32,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.035","http_referrer":"","http_user_agent":"node-fetch","requestID":"9527a50e15388031f84f74ddb8b3c966"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2ccb97b0-6841-4cea-9c6b-6b86f27ba869","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e7a0720e-02fe-4903-bc25-05e1c9bf8215","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515304.8770728} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.95419,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"ef47b280-3dd0-11ef-ab4a-87fddd4f273f"},"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/2ccb97b0-6841-4cea-9c6b-6b86f27ba869/signaling 200 9ms","method":"POST","requestID":"ef47b280-3dd0-11ef-ab4a-87fddd4f273f","responseTime":9,"status":200,"url":"/devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4d501c0-d48b-4204-ae2b-b8e55cb22ee9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b86edcb7-f0c7-4ad1-bf0c-c52a06c3878a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515304.8871758} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.173065,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9","object_type":"device","rebac_allow":false,"scope_allow":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":"ef496030-3dd0-11ef-ab4a-87fddd4f273f"},"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/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9/signaling 200 7ms","method":"POST","requestID":"ef496030-3dd0-11ef-ab4a-87fddd4f273f","responseTime":7,"status":200,"url":"/devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwNH0.5h5DDLEqa_PzLRTU_u83fw3d0SUmPgj5300K5QHUeWU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"75f45c2c1378fab7c2b20bb13af54da8","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/4a4a3262-5be2-4b32-9426-1ccb963e563a"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.724346,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4a4a3262-5be2-4b32-9426-1ccb963e563a","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/4a4a3262-5be2-4b32-9426-1ccb963e563a","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515304,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwNH0.5h5DDLEqa_PzLRTU_u83fw3d0SUmPgj5300K5QHUeWU"} 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":"75f45c2c1378fab7c2b20bb13af54da8"},"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/4a4a3262-5be2-4b32-9426-1ccb963e563a"} gateway-1 | {"time_local":"09/Jul/2024:08:55:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/4a4a3262-5be2-4b32-9426-1ccb963e563a HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"75f45c2c1378fab7c2b20bb13af54da8"} experiment-1 | {"level":"info","message":"GET /experiments/4a4a3262-5be2-4b32-9426-1ccb963e563a 200 11ms","method":"GET","requestID":"75f45c2c1378fab7c2b20bb13af54da8","responseTime":11,"status":200,"url":"/experiments/4a4a3262-5be2-4b32-9426-1ccb963e563a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwNH0.5h5DDLEqa_PzLRTU_u83fw3d0SUmPgj5300K5QHUeWU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9b4a8f1390a0e7c378d210d19d40f695","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/4a4a3262-5be2-4b32-9426-1ccb963e563a"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.679512,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4a4a3262-5be2-4b32-9426-1ccb963e563a","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/4a4a3262-5be2-4b32-9426-1ccb963e563a","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515304,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwNH0.5h5DDLEqa_PzLRTU_u83fw3d0SUmPgj5300K5QHUeWU"} 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":"9b4a8f1390a0e7c378d210d19d40f695"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a4a3262-5be2-4b32-9426-1ccb963e563a"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.79782,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:04Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b2967b30-2ef0-44dd-b968-c0ebbab5427f","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:http://localhost/peerconnections/b2967b30-2ef0-44dd-b968-c0ebbab5427f","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515304,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwNH0.5h5DDLEqa_PzLRTU_u83fw3d0SUmPgj5300K5QHUeWU"} 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":"ef534b40-3dd0-11ef-ab4a-87fddd4f273f"},"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/b2967b30-2ef0-44dd-b968-c0ebbab5427f' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/b2967b30-2ef0-44dd-b968-c0ebbab5427f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b2967b30-2ef0-44dd-b968-c0ebbab5427f","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":"83e4f36b2bba297d709d2cd6bc97f5f9","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb2967b30-2ef0-44dd-b968-c0ebbab5427f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb2967b30-2ef0-44dd-b968-c0ebbab5427f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"78d030c4-2467-44c9-b6c2-adeda96c0d7b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515304.9683325} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9c77d86e-d259-488f-8848-f9d901a5e9ed","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515304.9686725} 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":"f162798e969bcfb0079efa01bbc80da0","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/2ccb97b0-6841-4cea-9c6b-6b86f27ba869"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b2967b30-2ef0-44dd-b968-c0ebbab5427f"}}},"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":"ef534b40-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} 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/2ccb97b0-6841-4cea-9c6b-6b86f27ba869"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b2967b30-2ef0-44dd-b968-c0ebbab5427f"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"b2967b30-2ef0-44dd-b968-c0ebbab5427f","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/b2967b30-2ef0-44dd-b968-c0ebbab5427f 204 39ms","method":"DELETE","requestID":"ef534b40-3dd0-11ef-ab4a-87fddd4f273f","responseTime":39,"status":204,"url":"/peerconnections/b2967b30-2ef0-44dd-b968-c0ebbab5427f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a4a3262-5be2-4b32-9426-1ccb963e563a"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:05Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2ccb97b0-6841-4cea-9c6b-6b86f27ba869","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"71c30ad3-d145-4221-99c7-a87828850b0a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515305.014863} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.554912,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"ef5c9a10-3dd0-11ef-ab4a-87fddd4f273f"},"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/2ccb97b0-6841-4cea-9c6b-6b86f27ba869/signaling 200 10ms","method":"POST","requestID":"ef5c9a10-3dd0-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4a4a3262-5be2-4b32-9426-1ccb963e563a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4a4a3262-5be2-4b32-9426-1ccb963e563a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"daf01175-0328-45fb-a798-1ca27ceb86a8","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515305.024409} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9b9e759f-27fa-4b96-becf-ecf951c4e2ea","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515305.0252569} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:05Z"} 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":"9b4a8f1390a0e7c378d210d19d40f695"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4d501c0-d48b-4204-ae2b-b8e55cb22ee9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"23bd49c3-463d-4233-882f-2ed53e86e52f","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515305.0269768} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.605913,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"ef5e95e0-3dd0-11ef-ab4a-87fddd4f273f"},"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/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9/signaling 200 10ms","method":"POST","requestID":"ef5e95e0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/4a4a3262-5be2-4b32-9426-1ccb963e563a"} gateway-1 | {"time_local":"09/Jul/2024:08:55:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/4a4a3262-5be2-4b32-9426-1ccb963e563a HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.160","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9b4a8f1390a0e7c378d210d19d40f695"} experiment-1 | {"level":"info","message":"DELETE /experiments/4a4a3262-5be2-4b32-9426-1ccb963e563a 204 156ms","method":"DELETE","requestID":"9b4a8f1390a0e7c378d210d19d40f695","responseTime":156,"status":204,"url":"/experiments/4a4a3262-5be2-4b32-9426-1ccb963e563a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 127ms","method":"POST","requestID":"83e4f36b2bba297d709d2cd6bc97f5f9","responseTime":127,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55: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.131","http_referrer":"","http_user_agent":"node-fetch","requestID":"83e4f36b2bba297d709d2cd6bc97f5f9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 127ms","method":"POST","requestID":"f162798e969bcfb0079efa01bbc80da0","responseTime":127,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55: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.132","http_referrer":"","http_user_agent":"node-fetch","requestID":"f162798e969bcfb0079efa01bbc80da0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwNX0.TC2qAnaTDSs3WTU2rbOCUx4z_iHQEu2EJZL3nSj8lDg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"df5ef9ea40fa72e4d1b08da9fbc7bc25","responseTime":7,"status":200,"url":"/auth"} gateway-1 | {"time_local":"09/Jul/2024:08:55:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2647","request_time":"0.700","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e06d44b094f71d496462699d619a298e"} gateway-1 | {"time_local":"09/Jul/2024:08:55:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2647","request_time":"0.690","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"50cf094e9c5f9e1720432484bbb9257b"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:05Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.774624,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515305,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwNX0.TC2qAnaTDSs3WTU2rbOCUx4z_iHQEu2EJZL3nSj8lDg"} 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":"df5ef9ea40fa72e4d1b08da9fbc7bc25"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/2ccb97b0-6841-4cea-9c6b-6b86f27ba869' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e4d501c0-d48b-4204-ae2b-b8e55cb22ee9' 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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb770d212-3279-4ef2-ab8c-0b65b4a8336b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"866165d7-8ba7-4401-bd79-c42a687de7e7","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515305.1257112} 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":"df5ef9ea40fa72e4d1b08da9fbc7bc25"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dc69f468-e6ed-43af-b739-00d9bb28480c","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515305.1304226} 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":"df5ef9ea40fa72e4d1b08da9fbc7bc25"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb770d212-3279-4ef2-ab8c-0b65b4a8336b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"9aecfd93-06cb-4db2-bc00-94116a3193a7","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515305.1421885} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6bd5d1cf-2449-4d8e-8867-fa5497b58ca2","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515305.1424515} 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":"df5ef9ea40fa72e4d1b08da9fbc7bc25"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb770d212-3279-4ef2-ab8c-0b65b4a8336b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb770d212-3279-4ef2-ab8c-0b65b4a8336b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:05.142172852Z"}]},"request_id":"43284645-d815-4c86-abe1-b465303be1f7","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515305.147048} 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":"df5ef9ea40fa72e4d1b08da9fbc7bc25"},"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":"df5ef9ea40fa72e4d1b08da9fbc7bc25","responseTime":41,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"09/Jul/2024:08:55: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.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"df5ef9ea40fa72e4d1b08da9fbc7bc25"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwNX0.TC2qAnaTDSs3WTU2rbOCUx4z_iHQEu2EJZL3nSj8lDg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"db5198921ba66ad2f311734001b67a8a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:05Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.810681,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515305,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwNX0.TC2qAnaTDSs3WTU2rbOCUx4z_iHQEu2EJZL3nSj8lDg"} 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":"db5198921ba66ad2f311734001b67a8a"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabed7761-a2a4-43ff-b94e-848270336ee5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8231ea26-d1e8-4931-b521-26054b37b8f1","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515305.1725192} 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":"db5198921ba66ad2f311734001b67a8a"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4b4a7a76-da0d-471f-a534-f86cf640ac76","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515305.1778207} 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":"db5198921ba66ad2f311734001b67a8a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabed7761-a2a4-43ff-b94e-848270336ee5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"472fef46-c9ba-416f-9194-81c533d1cc3f","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515305.1895537} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"61d695f7-a073-4184-8a15-4bf01d902e12","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515305.189743} 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":"db5198921ba66ad2f311734001b67a8a"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabed7761-a2a4-43ff-b94e-848270336ee5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabed7761-a2a4-43ff-b94e-848270336ee5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:05.189539324Z"}]},"request_id":"222aaa67-8d97-4da1-8750-244d91fd4184","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515305.1942902} 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":"db5198921ba66ad2f311734001b67a8a"},"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":"09/Jul/2024:08:55:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"db5198921ba66ad2f311734001b67a8a"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"db5198921ba66ad2f311734001b67a8a","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwNX0.TC2qAnaTDSs3WTU2rbOCUx4z_iHQEu2EJZL3nSj8lDg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ed029df47d79f51afaecc946820d58a9","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:05Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.69382,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:05Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515305,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwNX0.TC2qAnaTDSs3WTU2rbOCUx4z_iHQEu2EJZL3nSj8lDg"} 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":"ed029df47d79f51afaecc946820d58a9"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb770d212-3279-4ef2-ab8c-0b65b4a8336b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb770d212-3279-4ef2-ab8c-0b65b4a8336b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:05.142172852Z"}]},"request_id":"1fb94100-1571-4ff0-b1c1-4fca76415ca6","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515305.707847} 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":"ed029df47d79f51afaecc946820d58a9"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a55b8253-e911-46d6-a921-87ce52c7b0c7","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515305.7141552} 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":"ed029df47d79f51afaecc946820d58a9"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb770d212-3279-4ef2-ab8c-0b65b4a8336b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb770d212-3279-4ef2-ab8c-0b65b4a8336b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:05.142172852Z"}]},"request_id":"2fb3743d-c046-42d5-b42b-28a3b3897723","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515305.7266717} 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":"ed029df47d79f51afaecc946820d58a9"},"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":"09/Jul/2024:08:55:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.039","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"ed029df47d79f51afaecc946820d58a9"} device-1 | {"level":"info","message":"PATCH /devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b 200 33ms","method":"PATCH","requestID":"ed029df47d79f51afaecc946820d58a9","responseTime":33,"status":200,"url":"/devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwNX0.TC2qAnaTDSs3WTU2rbOCUx4z_iHQEu2EJZL3nSj8lDg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"68dc384d44ac17f8a87fd6e3d6ce3a60","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:05Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.648513,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:05Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515305,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwNX0.TC2qAnaTDSs3WTU2rbOCUx4z_iHQEu2EJZL3nSj8lDg"} 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":"68dc384d44ac17f8a87fd6e3d6ce3a60"},"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":"09/Jul/2024:08:55:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b/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":"68dc384d44ac17f8a87fd6e3d6ce3a60"} device-1 | {"level":"info","message":"POST /devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b/websocket 200 17ms","method":"POST","requestID":"68dc384d44ac17f8a87fd6e3d6ce3a60","responseTime":17,"status":200,"url":"/devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b' 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":"d087daa2535984f2b4c166b3818f1326","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"09/Jul/2024:08:55:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/abed7761-a2a4-43ff-b94e-848270336ee5/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":"d087daa2535984f2b4c166b3818f1326"} device-1 | {"level":"info","message":"OPTIONS /devices/abed7761-a2a4-43ff-b94e-848270336ee5/websocket 200 1ms","method":"OPTIONS","requestID":"d087daa2535984f2b4c166b3818f1326","responseTime":1,"status":200,"url":"/devices/abed7761-a2a4-43ff-b94e-848270336ee5/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwN30.-F_ws6SZdJeU2S0leUj-SP8BfJqTqyF-4oyjXdcrwi0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9e5d8b52b56938bc9246dba91cec7d4c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:07Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.363604,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/abed7761-a2a4-43ff-b94e-848270336ee5","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/abed7761-a2a4-43ff-b94e-848270336ee5","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515307,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwN30.-F_ws6SZdJeU2S0leUj-SP8BfJqTqyF-4oyjXdcrwi0"} 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":"9e5d8b52b56938bc9246dba91cec7d4c"},"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":"09/Jul/2024:08:55:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/abed7761-a2a4-43ff-b94e-848270336ee5/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9e5d8b52b56938bc9246dba91cec7d4c"} device-1 | {"level":"info","message":"POST /devices/abed7761-a2a4-43ff-b94e-848270336ee5/websocket 200 21ms","method":"POST","requestID":"9e5d8b52b56938bc9246dba91cec7d4c","responseTime":21,"status":200,"url":"/devices/abed7761-a2a4-43ff-b94e-848270336ee5/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/abed7761-a2a4-43ff-b94e-848270336ee5' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwN30.-F_ws6SZdJeU2S0leUj-SP8BfJqTqyF-4oyjXdcrwi0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a105fd03603106a17f7c150f9e6a197e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:07Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.246853,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515307,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwN30.-F_ws6SZdJeU2S0leUj-SP8BfJqTqyF-4oyjXdcrwi0"} 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":"a105fd03603106a17f7c150f9e6a197e"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb770d212-3279-4ef2-ab8c-0b65b4a8336b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb770d212-3279-4ef2-ab8c-0b65b4a8336b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:05.142172852Z"}]},"request_id":"2673aec6-313b-4b23-916c-c1a36d91f4da","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515307.2690976} 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":"a105fd03603106a17f7c150f9e6a197e"},"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":"09/Jul/2024:08:55:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b? 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":"a105fd03603106a17f7c150f9e6a197e"} device-1 | {"level":"info","message":"GET /devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b? 200 20ms","method":"GET","requestID":"a105fd03603106a17f7c150f9e6a197e","responseTime":20,"status":200,"url":"/devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwN30.-F_ws6SZdJeU2S0leUj-SP8BfJqTqyF-4oyjXdcrwi0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"5439e0ad3c273792afe612b589742ce4","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:07Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.130969,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/abed7761-a2a4-43ff-b94e-848270336ee5","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/abed7761-a2a4-43ff-b94e-848270336ee5","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515307,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwN30.-F_ws6SZdJeU2S0leUj-SP8BfJqTqyF-4oyjXdcrwi0"} 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":"5439e0ad3c273792afe612b589742ce4"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabed7761-a2a4-43ff-b94e-848270336ee5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabed7761-a2a4-43ff-b94e-848270336ee5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:05.189539324Z"}]},"request_id":"d4b1bb80-3daf-4572-ade8-5505b9fef97f","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515307.297239} 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":"5439e0ad3c273792afe612b589742ce4"},"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":"09/Jul/2024:08:55:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/abed7761-a2a4-43ff-b94e-848270336ee5? 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":"5439e0ad3c273792afe612b589742ce4"} device-1 | {"level":"info","message":"GET /devices/abed7761-a2a4-43ff-b94e-848270336ee5? 200 19ms","method":"GET","requestID":"5439e0ad3c273792afe612b589742ce4","responseTime":19,"status":200,"url":"/devices/abed7761-a2a4-43ff-b94e-848270336ee5?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwN30.-F_ws6SZdJeU2S0leUj-SP8BfJqTqyF-4oyjXdcrwi0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c327d1bb6bab0097e1ea226f08d998d6","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:44070","level":"info","msg":"Received request.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:07Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.245634,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:07Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515307,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwN30.-F_ws6SZdJeU2S0leUj-SP8BfJqTqyF-4oyjXdcrwi0"} 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":"c327d1bb6bab0097e1ea226f08d998d6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2954c0e0-5106-4884-9d76-42f7b19b1342"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2954c0e0-5106-4884-9d76-42f7b19b1342"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2954c0e0-5106-4884-9d76-42f7b19b1342"},"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:44070","level":"info","msg":"Received request.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:07Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.704541,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:07Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Received request.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515307,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwN30.-F_ws6SZdJeU2S0leUj-SP8BfJqTqyF-4oyjXdcrwi0"} 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":"f0c35600-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Sent response.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.091835,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/abed7761-a2a4-43ff-b94e-848270336ee5","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/abed7761-a2a4-43ff-b94e-848270336ee5","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515307,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwN30.-F_ws6SZdJeU2S0leUj-SP8BfJqTqyF-4oyjXdcrwi0"} 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":"f0c37d10-3dd0-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb770d212-3279-4ef2-ab8c-0b65b4a8336b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb770d212-3279-4ef2-ab8c-0b65b4a8336b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:05.142172852Z"}]},"request_id":"91eec583-b384-4a40-8376-2babd58e0159","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515307.371313} 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":"f0c35600-3dd0-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabed7761-a2a4-43ff-b94e-848270336ee5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabed7761-a2a4-43ff-b94e-848270336ee5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:05.189539324Z"}]},"request_id":"831d7564-d11e-4ee6-ac07-88a05d25a961","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515307.3731074} 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":"f0c37d10-3dd0-11ef-ab4a-87fddd4f273f"},"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/b770d212-3279-4ef2-ab8c-0b65b4a8336b? 200 18ms","method":"GET","requestID":"f0c35600-3dd0-11ef-ab4a-87fddd4f273f","responseTime":18,"status":200,"url":"/devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/abed7761-a2a4-43ff-b94e-848270336ee5? 200 18ms","method":"GET","requestID":"f0c37d10-3dd0-11ef-ab4a-87fddd4f273f","responseTime":18,"status":200,"url":"/devices/abed7761-a2a4-43ff-b94e-848270336ee5?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2954c0e0-5106-4884-9d76-42f7b19b1342"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2954c0e0-5106-4884-9d76-42f7b19b1342"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2954c0e0-5106-4884-9d76-42f7b19b1342"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2954c0e0-5106-4884-9d76-42f7b19b1342"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2954c0e0-5106-4884-9d76-42f7b19b1342"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2954c0e0-5106-4884-9d76-42f7b19b1342"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2954c0e0-5106-4884-9d76-42f7b19b1342"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2954c0e0-5106-4884-9d76-42f7b19b1342"},"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:44070","level":"info","msg":"Received request.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:07Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.380345,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:07Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Received request.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:07Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2954c0e0-5106-4884-9d76-42f7b19b1342"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515307,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwN30.-F_ws6SZdJeU2S0leUj-SP8BfJqTqyF-4oyjXdcrwi0"} 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":"f0cf8b00-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Sent response.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.693084,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/abed7761-a2a4-43ff-b94e-848270336ee5","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/abed7761-a2a4-43ff-b94e-848270336ee5","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515307,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwN30.-F_ws6SZdJeU2S0leUj-SP8BfJqTqyF-4oyjXdcrwi0"} 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":"f0d02740-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:07Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.346366,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:07Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb770d212-3279-4ef2-ab8c-0b65b4a8336b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8cc3ed32-65cb-4c1e-9a11-3b22b5d8d0d2","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515307.4582157} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb770d212-3279-4ef2-ab8c-0b65b4a8336b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb770d212-3279-4ef2-ab8c-0b65b4a8336b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:05.142172852Z"}]},"request_id":"13f729e4-776a-46dc-a754-ae91bf745601","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515307.4626632} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b","object_type":"device","rebac_allow":false,"scope_allow":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":"f0d0c380-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} 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":"f0cf8b00-3dd0-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabed7761-a2a4-43ff-b94e-848270336ee5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabed7761-a2a4-43ff-b94e-848270336ee5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:05.189539324Z"}]},"request_id":"d38f5573-94e0-4c95-8279-e2e79a73d747","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515307.4647357} 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":"f0d02740-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b/signaling 200 31ms","method":"POST","requestID":"f0d0c380-3dd0-11ef-ab4a-87fddd4f273f","responseTime":31,"status":200,"url":"/devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2954c0e0-5106-4884-9d76-42f7b19b1342#owner@http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2954c0e0-5106-4884-9d76-42f7b19b1342","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"5dcda75a-9ac3-495c-b7d1-ed0de9965a9f","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515307.4802964} device-1 | {"level":"info","message":"GET /devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b? 200 40ms","method":"GET","requestID":"f0cf8b00-3dd0-11ef-ab4a-87fddd4f273f","responseTime":40,"status":200,"url":"/devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"43b85a62-41d3-4ae2-9977-f27f81707d88","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515307.4804192} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/abed7761-a2a4-43ff-b94e-848270336ee5? 200 38ms","method":"GET","requestID":"f0d02740-3dd0-11ef-ab4a-87fddd4f273f","responseTime":38,"status":200,"url":"/devices/abed7761-a2a4-43ff-b94e-848270336ee5?"} 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":"c327d1bb6bab0097e1ea226f08d998d6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":26}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:07Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabed7761-a2a4-43ff-b94e-848270336ee5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9d61ed44-3484-4264-9d84-10e9e28b0425","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515307.4903173} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Received request.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:07Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.779639,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/abed7761-a2a4-43ff-b94e-848270336ee5","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/abed7761-a2a4-43ff-b94e-848270336ee5","object_type":"device","rebac_allow":false,"scope_allow":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":"f0d61ab0-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb770d212-3279-4ef2-ab8c-0b65b4a8336b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f7b0e79e-1296-4689-8e0b-076b28e7b3a9","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515307.4939156} experiment-1 | {"data":{"experiment":"http://localhost/experiments/2954c0e0-5106-4884-9d76-42f7b19b1342","user":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Sent response.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.231077,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:07Z"} gateway-1 | {"time_local":"09/Jul/2024:08:55:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.190","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c327d1bb6bab0097e1ea226f08d998d6"} experiment-1 | {"level":"info","message":"POST /experiments? 201 184ms","method":"POST","requestID":"c327d1bb6bab0097e1ea226f08d998d6","responseTime":184,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b","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 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":"f0d68fe0-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"POST /devices/abed7761-a2a4-43ff-b94e-848270336ee5/signaling 200 15ms","method":"POST","requestID":"f0d61ab0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":15,"status":200,"url":"/devices/abed7761-a2a4-43ff-b94e-848270336ee5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwN30.-F_ws6SZdJeU2S0leUj-SP8BfJqTqyF-4oyjXdcrwi0","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"POST /devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b/signaling 200 16ms","method":"POST","requestID":"f0d68fe0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":16,"status":200,"url":"/devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2b65536cffe2d8cbcb0c89b26b12e17e","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:44070","level":"info","msg":"Received request.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:07Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.932417,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515307,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwN30.-F_ws6SZdJeU2S0leUj-SP8BfJqTqyF-4oyjXdcrwi0"} 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":"2b65536cffe2d8cbcb0c89b26b12e17e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Received request.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:07Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabed7761-a2a4-43ff-b94e-848270336ee5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2b75ea74-f7fc-4fb1-8ae3-d865fd90c934","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515307.5121984} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Sent response.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.593484,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/abed7761-a2a4-43ff-b94e-848270336ee5","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/abed7761-a2a4-43ff-b94e-848270336ee5","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"f0d97610-3dd0-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb770d212-3279-4ef2-ab8c-0b65b4a8336b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb770d212-3279-4ef2-ab8c-0b65b4a8336b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:05.142172852Z"}]},"request_id":"02f28d1a-79d9-4ecf-b5c0-188cddd2aced","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515307.5187025} device-1 | {"level":"info","message":"POST /devices/abed7761-a2a4-43ff-b94e-848270336ee5/signaling 200 14ms","method":"POST","requestID":"f0d97610-3dd0-11ef-ab4a-87fddd4f273f","responseTime":14,"status":200,"url":"/devices/abed7761-a2a4-43ff-b94e-848270336ee5/signaling"} 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":"2b65536cffe2d8cbcb0c89b26b12e17e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2954c0e0-5106-4884-9d76-42f7b19b1342"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2954c0e0-5106-4884-9d76-42f7b19b1342"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"ebce4e74-77c5-4690-bd02-e113d8ee3ef2"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"2e172d9e-c71b-4c6c-8ca1-3222da84d427"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"4ca86005-8aeb-4ea9-9ec0-94cc2b74dac0"}]},"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/abed7761-a2a4-43ff-b94e-848270336ee5"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b"}],"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":"09/Jul/2024:08:55:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b? 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":"2b65536cffe2d8cbcb0c89b26b12e17e"} device-1 | {"level":"info","message":"GET /devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b? 200 24ms","method":"GET","requestID":"2b65536cffe2d8cbcb0c89b26b12e17e","responseTime":24,"status":200,"url":"/devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b?"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:07Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.883437,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:07Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515307,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwN30.-F_ws6SZdJeU2S0leUj-SP8BfJqTqyF-4oyjXdcrwi0"} 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":"f0dc5c40-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwN30.-F_ws6SZdJeU2S0leUj-SP8BfJqTqyF-4oyjXdcrwi0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6dbd2cbca62938c568f63eec2ef287af","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:07Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.522753,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/abed7761-a2a4-43ff-b94e-848270336ee5","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/abed7761-a2a4-43ff-b94e-848270336ee5","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515307,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwN30.-F_ws6SZdJeU2S0leUj-SP8BfJqTqyF-4oyjXdcrwi0"} 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":"6dbd2cbca62938c568f63eec2ef287af"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","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%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"b9f503d6-52a0-4c67-82f5-ed056a54af1a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515307.5421689} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7bf3a270-daa2-4a48-a3bf-74c9db16224b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515307.5423567} 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":"f0dc5c40-3dd0-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabed7761-a2a4-43ff-b94e-848270336ee5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabed7761-a2a4-43ff-b94e-848270336ee5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:05.189539324Z"}]},"request_id":"4453da80-e2d4-4d61-8e50-7313726b9dd7","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515307.543225} 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":"6dbd2cbca62938c568f63eec2ef287af"},"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":"09/Jul/2024:08:55:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/abed7761-a2a4-43ff-b94e-848270336ee5? 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":"6dbd2cbca62938c568f63eec2ef287af"} device-1 | {"level":"info","message":"GET /devices/abed7761-a2a4-43ff-b94e-848270336ee5? 200 23ms","method":"GET","requestID":"6dbd2cbca62938c568f63eec2ef287af","responseTime":23,"status":200,"url":"/devices/abed7761-a2a4-43ff-b94e-848270336ee5?"} 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/a5117bbf-aef6-4cca-8c58-1d2304c989f5'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/a5117bbf-aef6-4cca-8c58-1d2304c989f5'"} 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":"f0dc5c40-3dd0-11ef-ab4a-87fddd4f273f","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"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2954c0e0-5106-4884-9d76-42f7b19b1342"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:07Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb770d212-3279-4ef2-ab8c-0b65b4a8336b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d460ddc0-aaee-4256-8328-9fb9ba9d0bdd","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515307.5948896} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.600237,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"f0e66e60-3dd0-11ef-ab4a-87fddd4f273f"},"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/b770d212-3279-4ef2-ab8c-0b65b4a8336b/signaling 200 9ms","method":"POST","requestID":"f0e66e60-3dd0-11ef-ab4a-87fddd4f273f","responseTime":9,"status":200,"url":"/devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:07Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabed7761-a2a4-43ff-b94e-848270336ee5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"825843d9-4a3f-4bf5-a9dc-fb6a046a4a37","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515307.605626} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.704838,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/abed7761-a2a4-43ff-b94e-848270336ee5","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/abed7761-a2a4-43ff-b94e-848270336ee5","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"f0e81c10-3dd0-11ef-ab4a-87fddd4f273f"},"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/abed7761-a2a4-43ff-b94e-848270336ee5/signaling 200 10ms","method":"POST","requestID":"f0e81c10-3dd0-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/devices/abed7761-a2a4-43ff-b94e-848270336ee5/signaling"} device-1 | {"data":{"peerconnection":"a5117bbf-aef6-4cca-8c58-1d2304c989f5","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/a5117bbf-aef6-4cca-8c58-1d2304c989f5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a5117bbf-aef6-4cca-8c58-1d2304c989f5","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/abed7761-a2a4-43ff-b94e-848270336ee5'"} 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":"aa206f5d12450e2beabc9291ba37c440","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/abed7761-a2a4-43ff-b94e-848270336ee5"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/a5117bbf-aef6-4cca-8c58-1d2304c989f5"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"aa206f5d12450e2beabc9291ba37c440","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"aa206f5d12450e2beabc9291ba37c440"} device-1 | {"data":{"peerconnection":"a5117bbf-aef6-4cca-8c58-1d2304c989f5","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"a5117bbf-aef6-4cca-8c58-1d2304c989f5","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/a5117bbf-aef6-4cca-8c58-1d2304c989f5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a5117bbf-aef6-4cca-8c58-1d2304c989f5","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":"fcfa3216db49d0c14c745ba346a62dd6","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/abed7761-a2a4-43ff-b94e-848270336ee5"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/a5117bbf-aef6-4cca-8c58-1d2304c989f5"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:09Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa5117bbf-aef6-4cca-8c58-1d2304c989f5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4bcffd10-0343-4fe0-98ef-39d27209f04f","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515309.688219} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.266915,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a5117bbf-aef6-4cca-8c58-1d2304c989f5","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/a5117bbf-aef6-4cca-8c58-1d2304c989f5","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":"f225cc30-3dd0-11ef-ab4a-87fddd4f273f"},"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/a5117bbf-aef6-4cca-8c58-1d2304c989f5 200 9ms","method":"GET","requestID":"f225cc30-3dd0-11ef-ab4a-87fddd4f273f","responseTime":9,"status":200,"url":"/peerconnections/a5117bbf-aef6-4cca-8c58-1d2304c989f5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 34ms","method":"POST","requestID":"fcfa3216db49d0c14c745ba346a62dd6","responseTime":34,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch","requestID":"fcfa3216db49d0c14c745ba346a62dd6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:09Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabed7761-a2a4-43ff-b94e-848270336ee5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c614d2d2-6bea-4a0e-98e2-a9c2688a8b23","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515309.718901} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.549278,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/abed7761-a2a4-43ff-b94e-848270336ee5","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/abed7761-a2a4-43ff-b94e-848270336ee5","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"f22a8720-3dd0-11ef-ab4a-87fddd4f273f"},"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/abed7761-a2a4-43ff-b94e-848270336ee5/signaling 200 9ms","method":"POST","requestID":"f22a8720-3dd0-11ef-ab4a-87fddd4f273f","responseTime":9,"status":200,"url":"/devices/abed7761-a2a4-43ff-b94e-848270336ee5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:09Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb770d212-3279-4ef2-ab8c-0b65b4a8336b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"21eb3842-6070-4543-93d3-4f290b9b5192","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515309.7304592} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.521422,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"f22c34d0-3dd0-11ef-ab4a-87fddd4f273f"},"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/b770d212-3279-4ef2-ab8c-0b65b4a8336b/signaling 200 10ms","method":"POST","requestID":"f22c34d0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwOX0.P8OvWZ4f9BzTV5_SldZGP1H-RJCXTKtwS5v1hf8TK1c","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b3068fadb74fcac8fb46fdd5cafbdfd2","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/2954c0e0-5106-4884-9d76-42f7b19b1342"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:09Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.131925,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2954c0e0-5106-4884-9d76-42f7b19b1342","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/2954c0e0-5106-4884-9d76-42f7b19b1342","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515309,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwOX0.P8OvWZ4f9BzTV5_SldZGP1H-RJCXTKtwS5v1hf8TK1c"} 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":"b3068fadb74fcac8fb46fdd5cafbdfd2"},"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/2954c0e0-5106-4884-9d76-42f7b19b1342"} gateway-1 | {"time_local":"09/Jul/2024:08:55:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/2954c0e0-5106-4884-9d76-42f7b19b1342 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b3068fadb74fcac8fb46fdd5cafbdfd2"} experiment-1 | {"level":"info","message":"GET /experiments/2954c0e0-5106-4884-9d76-42f7b19b1342 200 17ms","method":"GET","requestID":"b3068fadb74fcac8fb46fdd5cafbdfd2","responseTime":17,"status":200,"url":"/experiments/2954c0e0-5106-4884-9d76-42f7b19b1342"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwOX0.P8OvWZ4f9BzTV5_SldZGP1H-RJCXTKtwS5v1hf8TK1c","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"48d037b253a11617e5d2055adf51f58d","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/2954c0e0-5106-4884-9d76-42f7b19b1342"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:09Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.031671,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:09Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2954c0e0-5106-4884-9d76-42f7b19b1342","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/2954c0e0-5106-4884-9d76-42f7b19b1342","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515309,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwOX0.P8OvWZ4f9BzTV5_SldZGP1H-RJCXTKtwS5v1hf8TK1c"} 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":"48d037b253a11617e5d2055adf51f58d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2954c0e0-5106-4884-9d76-42f7b19b1342"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:09Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.000474,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:09Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a5117bbf-aef6-4cca-8c58-1d2304c989f5","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:http://localhost/peerconnections/a5117bbf-aef6-4cca-8c58-1d2304c989f5","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515309,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMwOX0.P8OvWZ4f9BzTV5_SldZGP1H-RJCXTKtwS5v1hf8TK1c"} 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":"f24477c0-3dd0-11ef-ab4a-87fddd4f273f"},"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/a5117bbf-aef6-4cca-8c58-1d2304c989f5' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/a5117bbf-aef6-4cca-8c58-1d2304c989f5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a5117bbf-aef6-4cca-8c58-1d2304c989f5","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 2ms","method":"GET","requestID":"2f40d02e08fee36f6e410a32aa40933d","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa5117bbf-aef6-4cca-8c58-1d2304c989f5': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa5117bbf-aef6-4cca-8c58-1d2304c989f5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"f9d853a4-ed7c-4319-ba7b-507e7630e614","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515309.9100904} 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/abed7761-a2a4-43ff-b94e-848270336ee5"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a5117bbf-aef6-4cca-8c58-1d2304c989f5"}}},"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":"2f0f9b1ae7270fab2af23af4d8d61de6","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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"476b36f1-fa3e-4c7b-a0a2-8e72a0176060","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515309.9106078} 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/abed7761-a2a4-43ff-b94e-848270336ee5"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a5117bbf-aef6-4cca-8c58-1d2304c989f5"}}},"level":"info","message":"received a callback"} 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":"f24477c0-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} device-1 | {"data":{"peerconnection":"a5117bbf-aef6-4cca-8c58-1d2304c989f5","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/a5117bbf-aef6-4cca-8c58-1d2304c989f5 204 45ms","method":"DELETE","requestID":"f24477c0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":45,"status":204,"url":"/peerconnections/a5117bbf-aef6-4cca-8c58-1d2304c989f5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2954c0e0-5106-4884-9d76-42f7b19b1342"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:09Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabed7761-a2a4-43ff-b94e-848270336ee5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"622a868e-6932-4dcb-86c0-9771eff748cb","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515309.9593735} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.314944,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/abed7761-a2a4-43ff-b94e-848270336ee5","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/abed7761-a2a4-43ff-b94e-848270336ee5","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"f24eff10-3dd0-11ef-ab4a-87fddd4f273f"},"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/abed7761-a2a4-43ff-b94e-848270336ee5/signaling 200 13ms","method":"POST","requestID":"f24eff10-3dd0-11ef-ab4a-87fddd4f273f","responseTime":13,"status":200,"url":"/devices/abed7761-a2a4-43ff-b94e-848270336ee5/signaling"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2954c0e0-5106-4884-9d76-42f7b19b1342': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2954c0e0-5106-4884-9d76-42f7b19b1342","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"23db1987-8a40-4982-951c-74bb6a46b9e5","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515309.9667304} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"055cf4a0-8b12-4b87-9cc0-afe5c196fd5f","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515309.967636} 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":"48d037b253a11617e5d2055adf51f58d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:09Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb770d212-3279-4ef2-ab8c-0b65b4a8336b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6c4b5a93-fc80-4f35-8672-db7dc6633870","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515309.9783957} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.772998,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b","object_type":"device","rebac_allow":false,"scope_allow":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":"f2519720-3dd0-11ef-ab4a-87fddd4f273f"},"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/b770d212-3279-4ef2-ab8c-0b65b4a8336b/signaling 200 14ms","method":"POST","requestID":"f2519720-3dd0-11ef-ab4a-87fddd4f273f","responseTime":14,"status":200,"url":"/devices/b770d212-3279-4ef2-ab8c-0b65b4a8336b/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/2954c0e0-5106-4884-9d76-42f7b19b1342"} gateway-1 | {"time_local":"09/Jul/2024:08:55:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/2954c0e0-5106-4884-9d76-42f7b19b1342 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.175","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"48d037b253a11617e5d2055adf51f58d"} experiment-1 | {"level":"info","message":"DELETE /experiments/2954c0e0-5106-4884-9d76-42f7b19b1342 204 170ms","method":"DELETE","requestID":"48d037b253a11617e5d2055adf51f58d","responseTime":170,"status":204,"url":"/experiments/2954c0e0-5106-4884-9d76-42f7b19b1342"} gateway-1 | {"time_local":"09/Jul/2024:08:55:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2598","request_time":"4.284","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"b8dc73c9d2941be4918d3aeec8d76bc9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 132ms","method":"POST","requestID":"2f40d02e08fee36f6e410a32aa40933d","responseTime":132,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55: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.136","http_referrer":"","http_user_agent":"node-fetch","requestID":"2f40d02e08fee36f6e410a32aa40933d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 131ms","method":"POST","requestID":"2f0f9b1ae7270fab2af23af4d8d61de6","responseTime":131,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55: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.137","http_referrer":"","http_user_agent":"node-fetch","requestID":"2f0f9b1ae7270fab2af23af4d8d61de6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxMH0.WYX_cdeSi4j-Gsn8QtR755ns592JqbCvRS9UXIjO27g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e243333aba6a56b9fb364d7f1c02553b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"09/Jul/2024:08:55:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2506","request_time":"2.817","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0528770cc826e98770572de8cad3cb30"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:10Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.006006,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515310,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxMH0.WYX_cdeSi4j-Gsn8QtR755ns592JqbCvRS9UXIjO27g"} 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":"e243333aba6a56b9fb364d7f1c02553b"},"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/b770d212-3279-4ef2-ab8c-0b65b4a8336b' 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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc69d2873-f258-4012-a126-db718df00165","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"29acd22b-e486-4166-94eb-ad8fc1e95927","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515310.0691977} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/abed7761-a2a4-43ff-b94e-848270336ee5' closed"} 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":"e243333aba6a56b9fb364d7f1c02553b"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"61384060-ab21-4d10-9eb8-cf3f3cac595b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515310.0775545} 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":"e243333aba6a56b9fb364d7f1c02553b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc69d2873-f258-4012-a126-db718df00165","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"60f44e3c-4622-4b66-863f-12238b4cb739","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515310.0872707} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7ceed298-aee0-41c9-b24c-1aa94a78620d","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515310.0874007} 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":"e243333aba6a56b9fb364d7f1c02553b"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc69d2873-f258-4012-a126-db718df00165","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc69d2873-f258-4012-a126-db718df00165","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:10.087254673Z"}]},"request_id":"09cd1fe8-0093-4b6b-9315-26424b04748d","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515310.0916035} 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":"e243333aba6a56b9fb364d7f1c02553b"},"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":"09/Jul/2024:08:55:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e243333aba6a56b9fb364d7f1c02553b"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"e243333aba6a56b9fb364d7f1c02553b","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxMH0.WYX_cdeSi4j-Gsn8QtR755ns592JqbCvRS9UXIjO27g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1a6a6e9f6c2d1f0f42a479cf169810c2","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:10Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.778751,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515310,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxMH0.WYX_cdeSi4j-Gsn8QtR755ns592JqbCvRS9UXIjO27g"} 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":"1a6a6e9f6c2d1f0f42a479cf169810c2"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F288d24c0-e70f-4989-967c-da19d6a3b01f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"cf9d9779-78f4-4dea-bc57-35a9e74b167c","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515310.1222095} 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":"1a6a6e9f6c2d1f0f42a479cf169810c2"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"54f6e034-db3c-4db1-9052-2d3a8ae77d7c","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515310.1278787} 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":"1a6a6e9f6c2d1f0f42a479cf169810c2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F288d24c0-e70f-4989-967c-da19d6a3b01f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"04c1384f-e83c-41f6-9b19-7f37e0696414","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515310.139249} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"34a97d31-a07f-4c8d-b3e8-14bd9ac8b2b6","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515310.1394503} 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":"1a6a6e9f6c2d1f0f42a479cf169810c2"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F288d24c0-e70f-4989-967c-da19d6a3b01f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F288d24c0-e70f-4989-967c-da19d6a3b01f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:10.139231053Z"}]},"request_id":"a32aecdc-53f6-4bd2-8656-b9c2f3cf70d3","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515310.1436472} 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":"1a6a6e9f6c2d1f0f42a479cf169810c2"},"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":"09/Jul/2024:08:55:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1a6a6e9f6c2d1f0f42a479cf169810c2"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"1a6a6e9f6c2d1f0f42a479cf169810c2","responseTime":46,"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":"8f2486ce9e39a06dd59e4e7c89c4b44e","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"09/Jul/2024:08:55:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/288d24c0-e70f-4989-967c-da19d6a3b01f/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":"8f2486ce9e39a06dd59e4e7c89c4b44e"} device-1 | {"level":"info","message":"OPTIONS /devices/288d24c0-e70f-4989-967c-da19d6a3b01f/websocket 200 2ms","method":"OPTIONS","requestID":"8f2486ce9e39a06dd59e4e7c89c4b44e","responseTime":2,"status":200,"url":"/devices/288d24c0-e70f-4989-967c-da19d6a3b01f/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 2ms","method":"GET","requestID":"970f56cb6da908405b85f2d1c133c5d0","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"09/Jul/2024:08:55:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/c69d2873-f258-4012-a126-db718df00165/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.006","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"970f56cb6da908405b85f2d1c133c5d0"} device-1 | {"level":"info","message":"OPTIONS /devices/c69d2873-f258-4012-a126-db718df00165/websocket 200 2ms","method":"OPTIONS","requestID":"970f56cb6da908405b85f2d1c133c5d0","responseTime":2,"status":200,"url":"/devices/c69d2873-f258-4012-a126-db718df00165/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxMn0.DDpPQu_yAfEa-8GORxVsatSMlXttBn9B0XaGZCzsYJM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"21f2773dc2ae20dbf5efa38980509a9b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxMn0.DDpPQu_yAfEa-8GORxVsatSMlXttBn9B0XaGZCzsYJM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0b4c10ace80709d259996969cf9d1476","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:12Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.294521,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/288d24c0-e70f-4989-967c-da19d6a3b01f","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/288d24c0-e70f-4989-967c-da19d6a3b01f","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515312,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxMn0.DDpPQu_yAfEa-8GORxVsatSMlXttBn9B0XaGZCzsYJM"} 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":"21f2773dc2ae20dbf5efa38980509a9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.293151,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c69d2873-f258-4012-a126-db718df00165","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/c69d2873-f258-4012-a126-db718df00165","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515312,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxMn0.DDpPQu_yAfEa-8GORxVsatSMlXttBn9B0XaGZCzsYJM"} 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":"0b4c10ace80709d259996969cf9d1476"},"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":"09/Jul/2024:08:55:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/288d24c0-e70f-4989-967c-da19d6a3b01f/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":"21f2773dc2ae20dbf5efa38980509a9b"} device-1 | {"level":"info","message":"POST /devices/288d24c0-e70f-4989-967c-da19d6a3b01f/websocket 200 23ms","method":"POST","requestID":"21f2773dc2ae20dbf5efa38980509a9b","responseTime":23,"status":200,"url":"/devices/288d24c0-e70f-4989-967c-da19d6a3b01f/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"09/Jul/2024:08:55:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c69d2873-f258-4012-a126-db718df00165/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":"0b4c10ace80709d259996969cf9d1476"} device-1 | {"level":"info","message":"POST /devices/c69d2873-f258-4012-a126-db718df00165/websocket 200 33ms","method":"POST","requestID":"0b4c10ace80709d259996969cf9d1476","responseTime":33,"status":200,"url":"/devices/c69d2873-f258-4012-a126-db718df00165/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/288d24c0-e70f-4989-967c-da19d6a3b01f' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c69d2873-f258-4012-a126-db718df00165' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxMn0.DDpPQu_yAfEa-8GORxVsatSMlXttBn9B0XaGZCzsYJM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"24f05587f75b8e86d244dc36334a4fae","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.635982,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c69d2873-f258-4012-a126-db718df00165","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/c69d2873-f258-4012-a126-db718df00165","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515312,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxMn0.DDpPQu_yAfEa-8GORxVsatSMlXttBn9B0XaGZCzsYJM"} 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":"24f05587f75b8e86d244dc36334a4fae"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc69d2873-f258-4012-a126-db718df00165","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc69d2873-f258-4012-a126-db718df00165","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:10.087254673Z"}]},"request_id":"c94a3184-48f8-4bb6-9213-8b65e29a6642","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515312.223672} 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":"24f05587f75b8e86d244dc36334a4fae"},"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":"09/Jul/2024:08:55:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c69d2873-f258-4012-a126-db718df00165? 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":"24f05587f75b8e86d244dc36334a4fae"} device-1 | {"level":"info","message":"GET /devices/c69d2873-f258-4012-a126-db718df00165? 200 17ms","method":"GET","requestID":"24f05587f75b8e86d244dc36334a4fae","responseTime":17,"status":200,"url":"/devices/c69d2873-f258-4012-a126-db718df00165?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxMn0.DDpPQu_yAfEa-8GORxVsatSMlXttBn9B0XaGZCzsYJM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7513d0b530f985c997a875f93d17f040","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.670116,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/288d24c0-e70f-4989-967c-da19d6a3b01f","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/288d24c0-e70f-4989-967c-da19d6a3b01f","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515312,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxMn0.DDpPQu_yAfEa-8GORxVsatSMlXttBn9B0XaGZCzsYJM"} 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":"7513d0b530f985c997a875f93d17f040"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F288d24c0-e70f-4989-967c-da19d6a3b01f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F288d24c0-e70f-4989-967c-da19d6a3b01f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:10.139231053Z"}]},"request_id":"2e7e1bf0-d03f-45d5-92fd-b0fd58b23b77","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515312.2440934} 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":"7513d0b530f985c997a875f93d17f040"},"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":"09/Jul/2024:08:55:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/288d24c0-e70f-4989-967c-da19d6a3b01f? 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":"7513d0b530f985c997a875f93d17f040"} device-1 | {"level":"info","message":"GET /devices/288d24c0-e70f-4989-967c-da19d6a3b01f? 200 13ms","method":"GET","requestID":"7513d0b530f985c997a875f93d17f040","responseTime":13,"status":200,"url":"/devices/288d24c0-e70f-4989-967c-da19d6a3b01f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxMn0.DDpPQu_yAfEa-8GORxVsatSMlXttBn9B0XaGZCzsYJM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1bb1de3a2d2eea81a83ebfc681d671ac","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:44070","level":"info","msg":"Received request.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.768031,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515312,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxMn0.DDpPQu_yAfEa-8GORxVsatSMlXttBn9B0XaGZCzsYJM"} 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":"1bb1de3a2d2eea81a83ebfc681d671ac"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5af38601-feab-4e83-bb4f-191e6c06e440"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5af38601-feab-4e83-bb4f-191e6c06e440"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5af38601-feab-4e83-bb4f-191e6c06e440"},"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:44070","level":"info","msg":"Received request.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.135573,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Received request.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c69d2873-f258-4012-a126-db718df00165","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/c69d2873-f258-4012-a126-db718df00165","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515312,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxMn0.DDpPQu_yAfEa-8GORxVsatSMlXttBn9B0XaGZCzsYJM"} 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":"f3b4f7b0-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Sent response.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.83528,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/288d24c0-e70f-4989-967c-da19d6a3b01f","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/288d24c0-e70f-4989-967c-da19d6a3b01f","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515312,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxMn0.DDpPQu_yAfEa-8GORxVsatSMlXttBn9B0XaGZCzsYJM"} 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":"f3b545d0-3dd0-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc69d2873-f258-4012-a126-db718df00165","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc69d2873-f258-4012-a126-db718df00165","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:10.087254673Z"}]},"request_id":"5e0f3d8d-a752-4a7c-8dd5-1eb488c43d92","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515312.3117998} 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":"f3b4f7b0-3dd0-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F288d24c0-e70f-4989-967c-da19d6a3b01f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F288d24c0-e70f-4989-967c-da19d6a3b01f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:10.139231053Z"}]},"request_id":"95709b1f-2195-4ab0-97b0-cc47f2bf3274","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515312.3136163} 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":"f3b545d0-3dd0-11ef-ab4a-87fddd4f273f"},"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/c69d2873-f258-4012-a126-db718df00165? 200 19ms","method":"GET","requestID":"f3b4f7b0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":19,"status":200,"url":"/devices/c69d2873-f258-4012-a126-db718df00165?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/288d24c0-e70f-4989-967c-da19d6a3b01f? 200 18ms","method":"GET","requestID":"f3b545d0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":18,"status":200,"url":"/devices/288d24c0-e70f-4989-967c-da19d6a3b01f?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5af38601-feab-4e83-bb4f-191e6c06e440"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5af38601-feab-4e83-bb4f-191e6c06e440"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5af38601-feab-4e83-bb4f-191e6c06e440"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5af38601-feab-4e83-bb4f-191e6c06e440"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5af38601-feab-4e83-bb4f-191e6c06e440"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5af38601-feab-4e83-bb4f-191e6c06e440"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5af38601-feab-4e83-bb4f-191e6c06e440"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5af38601-feab-4e83-bb4f-191e6c06e440"},"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/5af38601-feab-4e83-bb4f-191e6c06e440"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.93536,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Received request.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c69d2873-f258-4012-a126-db718df00165","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/c69d2873-f258-4012-a126-db718df00165","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515312,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxMn0.DDpPQu_yAfEa-8GORxVsatSMlXttBn9B0XaGZCzsYJM"} 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":"f3bf09d0-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Sent response.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.892368,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/288d24c0-e70f-4989-967c-da19d6a3b01f","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/288d24c0-e70f-4989-967c-da19d6a3b01f","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515312,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxMn0.DDpPQu_yAfEa-8GORxVsatSMlXttBn9B0XaGZCzsYJM"} 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":"f3bf57f0-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc69d2873-f258-4012-a126-db718df00165","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"454c7461-c2b0-418d-ada2-a7b2ec54f4c4","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515312.375733} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.495264,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c69d2873-f258-4012-a126-db718df00165","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c69d2873-f258-4012-a126-db718df00165","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"f3bfa610-3dd0-11ef-ab4a-87fddd4f273f"},"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/c69d2873-f258-4012-a126-db718df00165/signaling 200 13ms","method":"POST","requestID":"f3bfa610-3dd0-11ef-ab4a-87fddd4f273f","responseTime":13,"status":200,"url":"/devices/c69d2873-f258-4012-a126-db718df00165/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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc69d2873-f258-4012-a126-db718df00165","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc69d2873-f258-4012-a126-db718df00165","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:10.087254673Z"}]},"request_id":"fcaf55af-654b-4096-a6e5-d2a9dd3411cd","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515312.3810062} 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":"f3bf09d0-3dd0-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F288d24c0-e70f-4989-967c-da19d6a3b01f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F288d24c0-e70f-4989-967c-da19d6a3b01f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:10.139231053Z"}]},"request_id":"dbb08a16-cf1d-498b-ab6e-42f37112a623","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515312.382487} 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":"f3bf57f0-3dd0-11ef-ab4a-87fddd4f273f"},"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 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:12Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/c69d2873-f258-4012-a126-db718df00165? 200 25ms","method":"GET","requestID":"f3bf09d0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":25,"status":200,"url":"/devices/c69d2873-f258-4012-a126-db718df00165?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/288d24c0-e70f-4989-967c-da19d6a3b01f? 200 24ms","method":"GET","requestID":"f3bf57f0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":24,"status":200,"url":"/devices/288d24c0-e70f-4989-967c-da19d6a3b01f?"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F288d24c0-e70f-4989-967c-da19d6a3b01f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f5f9084b-dc12-4e57-a272-5a09cc832398","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515312.3901513} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.790223,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/288d24c0-e70f-4989-967c-da19d6a3b01f","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/288d24c0-e70f-4989-967c-da19d6a3b01f","object_type":"device","rebac_allow":false,"scope_allow":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":"f3c21710-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5af38601-feab-4e83-bb4f-191e6c06e440#owner@http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5af38601-feab-4e83-bb4f-191e6c06e440","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"e70c4d30-e73a-4779-b15b-cf1ac5086b5b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515312.3925202} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a77e7f1f-dfd0-4ae6-b820-4a4f1a6c1d73","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515312.3940303} 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":"1bb1de3a2d2eea81a83ebfc681d671ac"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":23}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:12Z"} device-1 | {"level":"info","message":"POST /devices/288d24c0-e70f-4989-967c-da19d6a3b01f/signaling 200 14ms","method":"POST","requestID":"f3c21710-3dd0-11ef-ab4a-87fddd4f273f","responseTime":14,"status":200,"url":"/devices/288d24c0-e70f-4989-967c-da19d6a3b01f/signaling"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc69d2873-f258-4012-a126-db718df00165","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"545f3545-dbb9-43be-a485-d0ebbab15cf2","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515312.40108} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.276631,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c69d2873-f258-4012-a126-db718df00165","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c69d2873-f258-4012-a126-db718df00165","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"f3c376a0-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/5af38601-feab-4e83-bb4f-191e6c06e440","user":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"09/Jul/2024:08:55:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"777","request_time":"0.156","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1bb1de3a2d2eea81a83ebfc681d671ac"} experiment-1 | {"level":"info","message":"POST /experiments? 201 150ms","method":"POST","requestID":"1bb1de3a2d2eea81a83ebfc681d671ac","responseTime":150,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c69d2873-f258-4012-a126-db718df00165/signaling 200 12ms","method":"POST","requestID":"f3c376a0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":12,"status":200,"url":"/devices/c69d2873-f258-4012-a126-db718df00165/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxMn0.DDpPQu_yAfEa-8GORxVsatSMlXttBn9B0XaGZCzsYJM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8d23e478a1f90adae70007ebc1962f2a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Received request.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F288d24c0-e70f-4989-967c-da19d6a3b01f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5202e63d-e376-4231-ad18-93a70d7cc70d","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515312.4142148} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Sent response.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.73619,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c69d2873-f258-4012-a126-db718df00165","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/c69d2873-f258-4012-a126-db718df00165","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515312,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxMn0.DDpPQu_yAfEa-8GORxVsatSMlXttBn9B0XaGZCzsYJM"} 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":"8d23e478a1f90adae70007ebc1962f2a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.304549,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/288d24c0-e70f-4989-967c-da19d6a3b01f","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/288d24c0-e70f-4989-967c-da19d6a3b01f","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"f3c5c090-3dd0-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc69d2873-f258-4012-a126-db718df00165","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc69d2873-f258-4012-a126-db718df00165","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:10.087254673Z"}]},"request_id":"d9cd2cc1-4b0a-4430-bde7-77df5b64d689","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515312.4186068} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/288d24c0-e70f-4989-967c-da19d6a3b01f/signaling 200 10ms","method":"POST","requestID":"f3c5c090-3dd0-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/devices/288d24c0-e70f-4989-967c-da19d6a3b01f/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":"8d23e478a1f90adae70007ebc1962f2a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5af38601-feab-4e83-bb4f-191e6c06e440"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5af38601-feab-4e83-bb4f-191e6c06e440"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"95820690-7b5c-4723-a94a-ed6e44c3aeed"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"afc5cd64-4792-4489-9736-6d749a148057"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"f1611784-c252-47fa-8251-0b8b993be648"}]},"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/288d24c0-e70f-4989-967c-da19d6a3b01f"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/c69d2873-f258-4012-a126-db718df00165"}],"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":"09/Jul/2024:08:55:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c69d2873-f258-4012-a126-db718df00165? 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":"8d23e478a1f90adae70007ebc1962f2a"} device-1 | {"level":"info","message":"GET /devices/c69d2873-f258-4012-a126-db718df00165? 200 13ms","method":"GET","requestID":"8d23e478a1f90adae70007ebc1962f2a","responseTime":13,"status":200,"url":"/devices/c69d2873-f258-4012-a126-db718df00165?"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.786495,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515312,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxMn0.DDpPQu_yAfEa-8GORxVsatSMlXttBn9B0XaGZCzsYJM"} 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":"f3c7bc60-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxMn0.DDpPQu_yAfEa-8GORxVsatSMlXttBn9B0XaGZCzsYJM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"84b800f2c647badce54c683d67736e16","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.862116,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/288d24c0-e70f-4989-967c-da19d6a3b01f","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/288d24c0-e70f-4989-967c-da19d6a3b01f","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515312,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxMn0.DDpPQu_yAfEa-8GORxVsatSMlXttBn9B0XaGZCzsYJM"} 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":"84b800f2c647badce54c683d67736e16"},"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":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3d19f647-5bce-4062-b05d-a0b4578e7914","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515312.435741} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","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%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"a80f8c00-371a-427e-a9fc-e02ff7bf46bc","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515312.4359422} 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":"f3c7bc60-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F288d24c0-e70f-4989-967c-da19d6a3b01f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F288d24c0-e70f-4989-967c-da19d6a3b01f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:10.139231053Z"}]},"request_id":"af5b1523-b0c4-4137-b344-ee501dd0f9b0","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515312.44159} 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":"84b800f2c647badce54c683d67736e16"},"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/dd25a6f9-d490-43af-ae6b-5d3339bad50b'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/dd25a6f9-d490-43af-ae6b-5d3339bad50b'"} 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 31ms","method":"POST","requestID":"f3c7bc60-3dd0-11ef-ab4a-87fddd4f273f","responseTime":31,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"09/Jul/2024:08:55:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/288d24c0-e70f-4989-967c-da19d6a3b01f? 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":"84b800f2c647badce54c683d67736e16"} device-1 | {"level":"info","message":"GET /devices/288d24c0-e70f-4989-967c-da19d6a3b01f? 200 23ms","method":"GET","requestID":"84b800f2c647badce54c683d67736e16","responseTime":23,"status":200,"url":"/devices/288d24c0-e70f-4989-967c-da19d6a3b01f?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5af38601-feab-4e83-bb4f-191e6c06e440"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc69d2873-f258-4012-a126-db718df00165","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"74a91958-41e5-4d73-9edb-2eaf7150854e","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515312.486576} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.404532,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c69d2873-f258-4012-a126-db718df00165","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c69d2873-f258-4012-a126-db718df00165","object_type":"device","rebac_allow":false,"scope_allow":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":"f3d0e420-3dd0-11ef-ab4a-87fddd4f273f"},"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/c69d2873-f258-4012-a126-db718df00165/signaling 200 8ms","method":"POST","requestID":"f3d0e420-3dd0-11ef-ab4a-87fddd4f273f","responseTime":8,"status":200,"url":"/devices/c69d2873-f258-4012-a126-db718df00165/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F288d24c0-e70f-4989-967c-da19d6a3b01f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6154f654-346e-4dd0-a4d0-37ae18d30144","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515312.499692} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.952844,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/288d24c0-e70f-4989-967c-da19d6a3b01f","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/288d24c0-e70f-4989-967c-da19d6a3b01f","object_type":"device","rebac_allow":false,"scope_allow":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":"f3d26ac0-3dd0-11ef-ab4a-87fddd4f273f"},"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/288d24c0-e70f-4989-967c-da19d6a3b01f/signaling 200 12ms","method":"POST","requestID":"f3d26ac0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":12,"status":200,"url":"/devices/288d24c0-e70f-4989-967c-da19d6a3b01f/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/288d24c0-e70f-4989-967c-da19d6a3b01f'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/288d24c0-e70f-4989-967c-da19d6a3b01f'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/c69d2873-f258-4012-a126-db718df00165'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/dd25a6f9-d490-43af-ae6b-5d3339bad50b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"dd25a6f9-d490-43af-ae6b-5d3339bad50b","statusDeviceA":"new","statusDeviceB":"connecting"},"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":"237eb2501b83485016ab5948a1ca6ad5","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/288d24c0-e70f-4989-967c-da19d6a3b01f"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/c69d2873-f258-4012-a126-db718df00165"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/dd25a6f9-d490-43af-ae6b-5d3339bad50b"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"237eb2501b83485016ab5948a1ca6ad5","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55:12 +0000","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":"237eb2501b83485016ab5948a1ca6ad5"} device-1 | {"data":{"peerconnection":"dd25a6f9-d490-43af-ae6b-5d3339bad50b","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"dd25a6f9-d490-43af-ae6b-5d3339bad50b","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/dd25a6f9-d490-43af-ae6b-5d3339bad50b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"dd25a6f9-d490-43af-ae6b-5d3339bad50b","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":"12ff24269c280f574c2cd728596d3726","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/288d24c0-e70f-4989-967c-da19d6a3b01f"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/c69d2873-f258-4012-a126-db718df00165"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/dd25a6f9-d490-43af-ae6b-5d3339bad50b"}}},"level":"info","message":"received a callback"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fdd25a6f9-d490-43af-ae6b-5d3339bad50b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d36513e3-5ba9-4281-9c46-d964ed7a89d7","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515312.5926204} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.838621,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/dd25a6f9-d490-43af-ae6b-5d3339bad50b","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/dd25a6f9-d490-43af-ae6b-5d3339bad50b","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":"f3e0c2a0-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/dd25a6f9-d490-43af-ae6b-5d3339bad50b 200 19ms","method":"GET","requestID":"f3e0c2a0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":19,"status":200,"url":"/peerconnections/dd25a6f9-d490-43af-ae6b-5d3339bad50b"} gateway-1 | {"time_local":"09/Jul/2024:08:55:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch","requestID":"12ff24269c280f574c2cd728596d3726"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 62ms","method":"POST","requestID":"12ff24269c280f574c2cd728596d3726","responseTime":62,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F288d24c0-e70f-4989-967c-da19d6a3b01f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2f91201f-643c-461f-90e2-07a32817b89e","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515312.6485794} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.993922,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/288d24c0-e70f-4989-967c-da19d6a3b01f","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/288d24c0-e70f-4989-967c-da19d6a3b01f","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"f3e94e20-3dd0-11ef-ab4a-87fddd4f273f"},"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/288d24c0-e70f-4989-967c-da19d6a3b01f/signaling 200 19ms","method":"POST","requestID":"f3e94e20-3dd0-11ef-ab4a-87fddd4f273f","responseTime":19,"status":200,"url":"/devices/288d24c0-e70f-4989-967c-da19d6a3b01f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc69d2873-f258-4012-a126-db718df00165","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"641f4c55-ab58-4d66-8099-03288548916f","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515312.6685214} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.570907,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c69d2873-f258-4012-a126-db718df00165","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c69d2873-f258-4012-a126-db718df00165","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"f3ec8270-3dd0-11ef-ab4a-87fddd4f273f"},"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/c69d2873-f258-4012-a126-db718df00165/signaling 200 13ms","method":"POST","requestID":"f3ec8270-3dd0-11ef-ab4a-87fddd4f273f","responseTime":13,"status":200,"url":"/devices/c69d2873-f258-4012-a126-db718df00165/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxMn0.DDpPQu_yAfEa-8GORxVsatSMlXttBn9B0XaGZCzsYJM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7ccbcb876c41ae8bb097c185ad02f0a4","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/5af38601-feab-4e83-bb4f-191e6c06e440"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.247408,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5af38601-feab-4e83-bb4f-191e6c06e440","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/5af38601-feab-4e83-bb4f-191e6c06e440","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515312,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxMn0.DDpPQu_yAfEa-8GORxVsatSMlXttBn9B0XaGZCzsYJM"} 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":"7ccbcb876c41ae8bb097c185ad02f0a4"},"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/5af38601-feab-4e83-bb4f-191e6c06e440"} gateway-1 | {"time_local":"09/Jul/2024:08:55:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/5af38601-feab-4e83-bb4f-191e6c06e440 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":"7ccbcb876c41ae8bb097c185ad02f0a4"} experiment-1 | {"level":"info","message":"GET /experiments/5af38601-feab-4e83-bb4f-191e6c06e440 200 18ms","method":"GET","requestID":"7ccbcb876c41ae8bb097c185ad02f0a4","responseTime":18,"status":200,"url":"/experiments/5af38601-feab-4e83-bb4f-191e6c06e440"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxMn0.DDpPQu_yAfEa-8GORxVsatSMlXttBn9B0XaGZCzsYJM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f6326cf860e01670c2af6abd1e5a5ae2","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/5af38601-feab-4e83-bb4f-191e6c06e440"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.389496,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5af38601-feab-4e83-bb4f-191e6c06e440","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/5af38601-feab-4e83-bb4f-191e6c06e440","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515312,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxMn0.DDpPQu_yAfEa-8GORxVsatSMlXttBn9B0XaGZCzsYJM"} 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":"f6326cf860e01670c2af6abd1e5a5ae2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5af38601-feab-4e83-bb4f-191e6c06e440"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.160811,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/dd25a6f9-d490-43af-ae6b-5d3339bad50b","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:http://localhost/peerconnections/dd25a6f9-d490-43af-ae6b-5d3339bad50b","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515312,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxMn0.DDpPQu_yAfEa-8GORxVsatSMlXttBn9B0XaGZCzsYJM"} 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":"f40d77f0-3dd0-11ef-ab4a-87fddd4f273f"},"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/dd25a6f9-d490-43af-ae6b-5d3339bad50b' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/dd25a6f9-d490-43af-ae6b-5d3339bad50b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"dd25a6f9-d490-43af-ae6b-5d3339bad50b","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":"05f92cf2b151e02d732f76be419f492b","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fdd25a6f9-d490-43af-ae6b-5d3339bad50b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fdd25a6f9-d490-43af-ae6b-5d3339bad50b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"5dfee846-032b-4cc0-928d-79daf636be75","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515312.9025495} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2481237c-7c6a-4a80-a10c-284f732face4","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515312.9028304} 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/288d24c0-e70f-4989-967c-da19d6a3b01f"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/c69d2873-f258-4012-a126-db718df00165"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/dd25a6f9-d490-43af-ae6b-5d3339bad50b"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f3b25c46102f9fdce4c627ac1443a99f","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":"f40d77f0-3dd0-11ef-ab4a-87fddd4f273f"},"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-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/288d24c0-e70f-4989-967c-da19d6a3b01f"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/c69d2873-f258-4012-a126-db718df00165"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/dd25a6f9-d490-43af-ae6b-5d3339bad50b"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"dd25a6f9-d490-43af-ae6b-5d3339bad50b","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/dd25a6f9-d490-43af-ae6b-5d3339bad50b 204 43ms","method":"DELETE","requestID":"f40d77f0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":43,"status":204,"url":"/peerconnections/dd25a6f9-d490-43af-ae6b-5d3339bad50b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5af38601-feab-4e83-bb4f-191e6c06e440"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F288d24c0-e70f-4989-967c-da19d6a3b01f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5e89538a-240e-4363-a8a9-44fb0c3f7d37","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515312.9497828} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.789733,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/288d24c0-e70f-4989-967c-da19d6a3b01f","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/288d24c0-e70f-4989-967c-da19d6a3b01f","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"f4176300-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5af38601-feab-4e83-bb4f-191e6c06e440': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5af38601-feab-4e83-bb4f-191e6c06e440","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"46d6a72b-c52f-40a4-b947-5db63632c440","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515312.9535987} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"09f7d449-ab8c-46d1-bfcc-216c3d5148ea","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515312.9538672} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/288d24c0-e70f-4989-967c-da19d6a3b01f/signaling 200 10ms","method":"POST","requestID":"f4176300-3dd0-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/devices/288d24c0-e70f-4989-967c-da19d6a3b01f/signaling"} 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":"f6326cf860e01670c2af6abd1e5a5ae2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc69d2873-f258-4012-a126-db718df00165","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"230da130-d73e-4d2c-b65f-40c0266a8b8d","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515312.9610777} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.454349,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c69d2873-f258-4012-a126-db718df00165","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c69d2873-f258-4012-a126-db718df00165","object_type":"device","rebac_allow":false,"scope_allow":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":"f41937c0-3dd0-11ef-ab4a-87fddd4f273f"},"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/c69d2873-f258-4012-a126-db718df00165/signaling 200 10ms","method":"POST","requestID":"f41937c0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/devices/c69d2873-f258-4012-a126-db718df00165/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/5af38601-feab-4e83-bb4f-191e6c06e440"} gateway-1 | {"time_local":"09/Jul/2024:08:55:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/5af38601-feab-4e83-bb4f-191e6c06e440 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.165","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f6326cf860e01670c2af6abd1e5a5ae2"} experiment-1 | {"level":"info","message":"DELETE /experiments/5af38601-feab-4e83-bb4f-191e6c06e440 204 162ms","method":"DELETE","requestID":"f6326cf860e01670c2af6abd1e5a5ae2","responseTime":162,"status":204,"url":"/experiments/5af38601-feab-4e83-bb4f-191e6c06e440"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 122ms","method":"POST","requestID":"05f92cf2b151e02d732f76be419f492b","responseTime":122,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55: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.125","http_referrer":"","http_user_agent":"node-fetch","requestID":"05f92cf2b151e02d732f76be419f492b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxM30.mD3x4iI9TtRupDCTR2WIMJCyYWO3T0zkq85PZj2pSPY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"68a3e5e171acf77db189a1654f4965f0","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 122ms","method":"POST","requestID":"f3b25c46102f9fdce4c627ac1443a99f","responseTime":122,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55: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.127","http_referrer":"","http_user_agent":"node-fetch","requestID":"f3b25c46102f9fdce4c627ac1443a99f"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:13Z"} gateway-1 | {"time_local":"09/Jul/2024:08:55:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2630","request_time":"0.839","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"6991d619e374fb5c28864588cc9d08a9"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.004147,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:13Z"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"09/Jul/2024:08:55:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2631","request_time":"0.851","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"58e406bb6da8d3915728964b338dbf20"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515313,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxM30.mD3x4iI9TtRupDCTR2WIMJCyYWO3T0zkq85PZj2pSPY"} 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":"68a3e5e171acf77db189a1654f4965f0"},"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/288d24c0-e70f-4989-967c-da19d6a3b01f' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c69d2873-f258-4012-a126-db718df00165' 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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b9bb0d5-9542-4084-8420-4e3574dfc262","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"bc8a29c6-11f6-47ec-9452-3651a52ad7eb","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515313.0510223} 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":"68a3e5e171acf77db189a1654f4965f0"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"85ef476d-92ad-4f23-8c41-7840a4f4ce02","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515313.0556743} 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":"68a3e5e171acf77db189a1654f4965f0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b9bb0d5-9542-4084-8420-4e3574dfc262","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"10135d77-a7d9-4686-89ca-1da5d08954a0","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515313.0666451} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9cae006e-4d76-4e59-bde6-48f78db4d71c","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515313.0670068} 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":"68a3e5e171acf77db189a1654f4965f0"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b9bb0d5-9542-4084-8420-4e3574dfc262","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b9bb0d5-9542-4084-8420-4e3574dfc262","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:13.066613490Z"}]},"request_id":"95f26f0a-b693-4cef-86da-568ecdb03b72","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515313.0716114} 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":"68a3e5e171acf77db189a1654f4965f0"},"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 43ms","method":"POST","requestID":"68a3e5e171acf77db189a1654f4965f0","responseTime":43,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"09/Jul/2024:08:55:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"68a3e5e171acf77db189a1654f4965f0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxM30.mD3x4iI9TtRupDCTR2WIMJCyYWO3T0zkq85PZj2pSPY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"eb179b4d2ab3deae5ed79c90b6fd3085","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:13Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.709966,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515313,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxM30.mD3x4iI9TtRupDCTR2WIMJCyYWO3T0zkq85PZj2pSPY"} 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":"eb179b4d2ab3deae5ed79c90b6fd3085"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8e1449b-2ef2-4475-a245-3759abea0f1d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"53f46239-684e-4867-a6fa-cca4c665d56c","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515313.09682} 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":"eb179b4d2ab3deae5ed79c90b6fd3085"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0696ce43-15ba-431e-a92a-c9e549ac078b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515313.104039} 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":"eb179b4d2ab3deae5ed79c90b6fd3085"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8e1449b-2ef2-4475-a245-3759abea0f1d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"c4f8dd2a-b1cb-4cbc-b8af-45658ca147cf","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515313.1145966} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6e845219-d409-4855-854b-f49fe6230214","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515313.114696} 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":"eb179b4d2ab3deae5ed79c90b6fd3085"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8e1449b-2ef2-4475-a245-3759abea0f1d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8e1449b-2ef2-4475-a245-3759abea0f1d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:13.114574060Z"}]},"request_id":"20d69836-527d-4143-ae35-a48a528547f0","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515313.124154} 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":"eb179b4d2ab3deae5ed79c90b6fd3085"},"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":"09/Jul/2024:08:55:13 +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":"eb179b4d2ab3deae5ed79c90b6fd3085"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"eb179b4d2ab3deae5ed79c90b6fd3085","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxM30.mD3x4iI9TtRupDCTR2WIMJCyYWO3T0zkq85PZj2pSPY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d5435fd661433a1fcfa125d8928eb00d","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:13Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.290136,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8e1449b-2ef2-4475-a245-3759abea0f1d","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/f8e1449b-2ef2-4475-a245-3759abea0f1d","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515313,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxM30.mD3x4iI9TtRupDCTR2WIMJCyYWO3T0zkq85PZj2pSPY"} 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":"d5435fd661433a1fcfa125d8928eb00d"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8e1449b-2ef2-4475-a245-3759abea0f1d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8e1449b-2ef2-4475-a245-3759abea0f1d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:13.114574060Z"}]},"request_id":"ae066651-afa5-41fa-bdfb-5b038c2b3012","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515313.6468184} 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":"d5435fd661433a1fcfa125d8928eb00d"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"59ff852c-609a-4b71-8675-9e98167c0793","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515313.6520014} 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":"d5435fd661433a1fcfa125d8928eb00d"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8e1449b-2ef2-4475-a245-3759abea0f1d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8e1449b-2ef2-4475-a245-3759abea0f1d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:13.114574060Z"}]},"request_id":"a0f07aeb-66e1-4bcd-82ab-1e2903981d3e","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515313.6646938} 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":"d5435fd661433a1fcfa125d8928eb00d"},"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":"09/Jul/2024:08:55:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f8e1449b-2ef2-4475-a245-3759abea0f1d HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.039","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"d5435fd661433a1fcfa125d8928eb00d"} device-1 | {"level":"info","message":"PATCH /devices/f8e1449b-2ef2-4475-a245-3759abea0f1d 200 32ms","method":"PATCH","requestID":"d5435fd661433a1fcfa125d8928eb00d","responseTime":32,"status":200,"url":"/devices/f8e1449b-2ef2-4475-a245-3759abea0f1d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxM30.mD3x4iI9TtRupDCTR2WIMJCyYWO3T0zkq85PZj2pSPY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1833190178e9550954ab92f399eaae64","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:13Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.099156,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8e1449b-2ef2-4475-a245-3759abea0f1d","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/f8e1449b-2ef2-4475-a245-3759abea0f1d","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515313,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxM30.mD3x4iI9TtRupDCTR2WIMJCyYWO3T0zkq85PZj2pSPY"} 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":"1833190178e9550954ab92f399eaae64"},"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":"09/Jul/2024:08:55:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f8e1449b-2ef2-4475-a245-3759abea0f1d/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":"1833190178e9550954ab92f399eaae64"} device-1 | {"level":"info","message":"POST /devices/f8e1449b-2ef2-4475-a245-3759abea0f1d/websocket 200 19ms","method":"POST","requestID":"1833190178e9550954ab92f399eaae64","responseTime":19,"status":200,"url":"/devices/f8e1449b-2ef2-4475-a245-3759abea0f1d/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f8e1449b-2ef2-4475-a245-3759abea0f1d' 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":"674f3322765b0e4c1b16bf251db38566","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"09/Jul/2024:08:55:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/6b9bb0d5-9542-4084-8420-4e3574dfc262/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":"674f3322765b0e4c1b16bf251db38566"} device-1 | {"level":"info","message":"OPTIONS /devices/6b9bb0d5-9542-4084-8420-4e3574dfc262/websocket 200 2ms","method":"OPTIONS","requestID":"674f3322765b0e4c1b16bf251db38566","responseTime":2,"status":200,"url":"/devices/6b9bb0d5-9542-4084-8420-4e3574dfc262/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxNX0.PS_RV5NQ3AemXxp-NH42YjZMsEPSDgX94VvwoBebmMI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8cf235f6e913ee2e08171698f79c9fc1","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:15Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.033447,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:15Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b9bb0d5-9542-4084-8420-4e3574dfc262","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/6b9bb0d5-9542-4084-8420-4e3574dfc262","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515315,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxNX0.PS_RV5NQ3AemXxp-NH42YjZMsEPSDgX94VvwoBebmMI"} 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":"8cf235f6e913ee2e08171698f79c9fc1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"09/Jul/2024:08:55:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6b9bb0d5-9542-4084-8420-4e3574dfc262/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":"8cf235f6e913ee2e08171698f79c9fc1"} device-1 | {"level":"info","message":"POST /devices/6b9bb0d5-9542-4084-8420-4e3574dfc262/websocket 200 26ms","method":"POST","requestID":"8cf235f6e913ee2e08171698f79c9fc1","responseTime":26,"status":200,"url":"/devices/6b9bb0d5-9542-4084-8420-4e3574dfc262/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6b9bb0d5-9542-4084-8420-4e3574dfc262' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxNX0.PS_RV5NQ3AemXxp-NH42YjZMsEPSDgX94VvwoBebmMI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"6dff51346863d75abaa6605d66e8ce51","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:15Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.353795,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b9bb0d5-9542-4084-8420-4e3574dfc262","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/6b9bb0d5-9542-4084-8420-4e3574dfc262","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515315,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxNX0.PS_RV5NQ3AemXxp-NH42YjZMsEPSDgX94VvwoBebmMI"} 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":"6dff51346863d75abaa6605d66e8ce51"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b9bb0d5-9542-4084-8420-4e3574dfc262","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b9bb0d5-9542-4084-8420-4e3574dfc262","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:13.066613490Z"}]},"request_id":"28f005b3-79ca-4b27-aba0-8439d3300845","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515315.2254198} 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":"6dff51346863d75abaa6605d66e8ce51"},"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":"09/Jul/2024:08:55:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6b9bb0d5-9542-4084-8420-4e3574dfc262? 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":"6dff51346863d75abaa6605d66e8ce51"} device-1 | {"level":"info","message":"GET /devices/6b9bb0d5-9542-4084-8420-4e3574dfc262? 200 16ms","method":"GET","requestID":"6dff51346863d75abaa6605d66e8ce51","responseTime":16,"status":200,"url":"/devices/6b9bb0d5-9542-4084-8420-4e3574dfc262?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxNX0.PS_RV5NQ3AemXxp-NH42YjZMsEPSDgX94VvwoBebmMI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"412f0a11f1ccd7d961b39ae022706b80","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:15Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.302098,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8e1449b-2ef2-4475-a245-3759abea0f1d","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/f8e1449b-2ef2-4475-a245-3759abea0f1d","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515315,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxNX0.PS_RV5NQ3AemXxp-NH42YjZMsEPSDgX94VvwoBebmMI"} 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":"412f0a11f1ccd7d961b39ae022706b80"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8e1449b-2ef2-4475-a245-3759abea0f1d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8e1449b-2ef2-4475-a245-3759abea0f1d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:13.114574060Z"}]},"request_id":"97465fa9-8273-43f1-ba65-67a50640dc53","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515315.2484198} 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":"412f0a11f1ccd7d961b39ae022706b80"},"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":"09/Jul/2024:08:55:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f8e1449b-2ef2-4475-a245-3759abea0f1d? 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":"412f0a11f1ccd7d961b39ae022706b80"} device-1 | {"level":"info","message":"GET /devices/f8e1449b-2ef2-4475-a245-3759abea0f1d? 200 16ms","method":"GET","requestID":"412f0a11f1ccd7d961b39ae022706b80","responseTime":16,"status":200,"url":"/devices/f8e1449b-2ef2-4475-a245-3759abea0f1d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxNX0.PS_RV5NQ3AemXxp-NH42YjZMsEPSDgX94VvwoBebmMI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6185c379a41f029ade675c71ab28b917","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:44070","level":"info","msg":"Received request.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:15Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.125767,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515315,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxNX0.PS_RV5NQ3AemXxp-NH42YjZMsEPSDgX94VvwoBebmMI"} 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":"6185c379a41f029ade675c71ab28b917"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc0d4699-7677-4833-86cb-1ad0081f2123"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc0d4699-7677-4833-86cb-1ad0081f2123"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc0d4699-7677-4833-86cb-1ad0081f2123"},"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:44070","level":"info","msg":"Received request.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:15Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.659265,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:15Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Received request.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b9bb0d5-9542-4084-8420-4e3574dfc262","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/6b9bb0d5-9542-4084-8420-4e3574dfc262","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515315,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxNX0.PS_RV5NQ3AemXxp-NH42YjZMsEPSDgX94VvwoBebmMI"} 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":"f57f0950-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Sent response.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.712505,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8e1449b-2ef2-4475-a245-3759abea0f1d","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/f8e1449b-2ef2-4475-a245-3759abea0f1d","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515315,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxNX0.PS_RV5NQ3AemXxp-NH42YjZMsEPSDgX94VvwoBebmMI"} 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":"f57f5770-3dd0-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b9bb0d5-9542-4084-8420-4e3574dfc262","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b9bb0d5-9542-4084-8420-4e3574dfc262","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:13.066613490Z"}]},"request_id":"1f55452d-a1b2-43b5-bba2-430ff3dad7ca","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515315.3091533} 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":"f57f0950-3dd0-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8e1449b-2ef2-4475-a245-3759abea0f1d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8e1449b-2ef2-4475-a245-3759abea0f1d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:13.114574060Z"}]},"request_id":"9769de4d-64bd-46dd-a6ff-26aaf56aa1f4","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515315.3107786} 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":"f57f5770-3dd0-11ef-ab4a-87fddd4f273f"},"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/6b9bb0d5-9542-4084-8420-4e3574dfc262? 200 17ms","method":"GET","requestID":"f57f0950-3dd0-11ef-ab4a-87fddd4f273f","responseTime":17,"status":200,"url":"/devices/6b9bb0d5-9542-4084-8420-4e3574dfc262?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/f8e1449b-2ef2-4475-a245-3759abea0f1d? 200 16ms","method":"GET","requestID":"f57f5770-3dd0-11ef-ab4a-87fddd4f273f","responseTime":16,"status":200,"url":"/devices/f8e1449b-2ef2-4475-a245-3759abea0f1d?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc0d4699-7677-4833-86cb-1ad0081f2123"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc0d4699-7677-4833-86cb-1ad0081f2123"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc0d4699-7677-4833-86cb-1ad0081f2123"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc0d4699-7677-4833-86cb-1ad0081f2123"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc0d4699-7677-4833-86cb-1ad0081f2123"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc0d4699-7677-4833-86cb-1ad0081f2123"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc0d4699-7677-4833-86cb-1ad0081f2123"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc0d4699-7677-4833-86cb-1ad0081f2123"},"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/dc0d4699-7677-4833-86cb-1ad0081f2123"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:15Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.074643,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:15Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Received request.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b9bb0d5-9542-4084-8420-4e3574dfc262","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/6b9bb0d5-9542-4084-8420-4e3574dfc262","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515315,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxNX0.PS_RV5NQ3AemXxp-NH42YjZMsEPSDgX94VvwoBebmMI"} 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":"f58990a0-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Sent response.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.854463,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8e1449b-2ef2-4475-a245-3759abea0f1d","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/f8e1449b-2ef2-4475-a245-3759abea0f1d","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515315,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxNX0.PS_RV5NQ3AemXxp-NH42YjZMsEPSDgX94VvwoBebmMI"} 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":"f589b7b0-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:15Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b9bb0d5-9542-4084-8420-4e3574dfc262","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2a6bcb2c-a3ee-405b-8fac-6046e9f566db","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515315.3795948} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.579038,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:15Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b9bb0d5-9542-4084-8420-4e3574dfc262","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b9bb0d5-9542-4084-8420-4e3574dfc262","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:13.066613490Z"}]},"request_id":"58260c28-fa23-4cbc-8b39-376c08ccb4b9","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515315.3823848} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b9bb0d5-9542-4084-8420-4e3574dfc262","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b9bb0d5-9542-4084-8420-4e3574dfc262","object_type":"device","rebac_allow":false,"scope_allow":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":"f58a05d0-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} 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":"f58990a0-3dd0-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8e1449b-2ef2-4475-a245-3759abea0f1d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8e1449b-2ef2-4475-a245-3759abea0f1d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:13.114574060Z"}]},"request_id":"eb5d1e5a-332f-41ff-a01e-7a77eafc31d3","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515315.3836186} 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":"f589b7b0-3dd0-11ef-ab4a-87fddd4f273f"},"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/6b9bb0d5-9542-4084-8420-4e3574dfc262/signaling 200 17ms","method":"POST","requestID":"f58a05d0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":17,"status":200,"url":"/devices/6b9bb0d5-9542-4084-8420-4e3574dfc262/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/6b9bb0d5-9542-4084-8420-4e3574dfc262? 200 20ms","method":"GET","requestID":"f58990a0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":20,"status":200,"url":"/devices/6b9bb0d5-9542-4084-8420-4e3574dfc262?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/f8e1449b-2ef2-4475-a245-3759abea0f1d? 200 20ms","method":"GET","requestID":"f589b7b0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":20,"status":200,"url":"/devices/f8e1449b-2ef2-4475-a245-3759abea0f1d?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:15Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8e1449b-2ef2-4475-a245-3759abea0f1d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"131e5ad2-277d-4a63-bf39-8b8ad6f135f3","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515315.3980649} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdc0d4699-7677-4833-86cb-1ad0081f2123#owner@http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdc0d4699-7677-4833-86cb-1ad0081f2123","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"402f3efa-c5f7-4119-82b0-10b3147bd296","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515315.3984852} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"578dc9ca-33ef-4f7b-b1e7-ecf4369f1ef8","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515315.3992383} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.757866,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:15Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Received request.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8e1449b-2ef2-4475-a245-3759abea0f1d","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f8e1449b-2ef2-4475-a245-3759abea0f1d","object_type":"device","rebac_allow":false,"scope_allow":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":"f58cec00-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} 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":"6185c379a41f029ade675c71ab28b917"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":25}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b9bb0d5-9542-4084-8420-4e3574dfc262","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"04c433d3-cf77-4052-ba29-57880f844101","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515315.4020581} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Sent response.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.455776,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b9bb0d5-9542-4084-8420-4e3574dfc262","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b9bb0d5-9542-4084-8420-4e3574dfc262","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/f8e1449b-2ef2-4475-a245-3759abea0f1d/signaling 200 14ms","method":"POST","requestID":"f58cec00-3dd0-11ef-ab4a-87fddd4f273f","responseTime":14,"status":200,"url":"/devices/f8e1449b-2ef2-4475-a245-3759abea0f1d/signaling"} 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":"f58daf50-3dd0-11ef-ab4a-87fddd4f273f"},"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/6b9bb0d5-9542-4084-8420-4e3574dfc262/signaling 200 13ms","method":"POST","requestID":"f58daf50-3dd0-11ef-ab4a-87fddd4f273f","responseTime":13,"status":200,"url":"/devices/6b9bb0d5-9542-4084-8420-4e3574dfc262/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/dc0d4699-7677-4833-86cb-1ad0081f2123","user":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"09/Jul/2024:08:55:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.162","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6185c379a41f029ade675c71ab28b917"} experiment-1 | {"level":"info","message":"POST /experiments? 201 156ms","method":"POST","requestID":"6185c379a41f029ade675c71ab28b917","responseTime":156,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:15Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8e1449b-2ef2-4475-a245-3759abea0f1d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c1bebd55-ac71-462b-86fe-db31a6cd8c26","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515315.420014} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.360961,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8e1449b-2ef2-4475-a245-3759abea0f1d","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f8e1449b-2ef2-4475-a245-3759abea0f1d","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxNX0.PS_RV5NQ3AemXxp-NH42YjZMsEPSDgX94VvwoBebmMI","level":"info","message":"auth send jwt"} 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":"f5906e70-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8c1e91511ed7f1eaf43b4781fe318e2e","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/f8e1449b-2ef2-4475-a245-3759abea0f1d/signaling 200 11ms","method":"POST","requestID":"f5906e70-3dd0-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/devices/f8e1449b-2ef2-4475-a245-3759abea0f1d/signaling"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:15Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc0d4699-7677-4833-86cb-1ad0081f2123"},"level":"info","message":"Attempting to create peerconnections for experiment"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.671179,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:15Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc0d4699-7677-4833-86cb-1ad0081f2123"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"c3d38108-d0f8-4741-b752-b39606f74036"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"96ff4687-c071-428a-aa23-8f123398fa7b"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"03f8d47b-124d-49fc-bf9e-77139fc46047"}]},"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/f8e1449b-2ef2-4475-a245-3759abea0f1d"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/6b9bb0d5-9542-4084-8420-4e3574dfc262"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b9bb0d5-9542-4084-8420-4e3574dfc262","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/6b9bb0d5-9542-4084-8420-4e3574dfc262","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515315,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxNX0.PS_RV5NQ3AemXxp-NH42YjZMsEPSDgX94VvwoBebmMI"} 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":"8c1e91511ed7f1eaf43b4781fe318e2e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postPeerconnections 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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b9bb0d5-9542-4084-8420-4e3574dfc262","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b9bb0d5-9542-4084-8420-4e3574dfc262","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:13.066613490Z"}]},"request_id":"7f23d656-95c4-40e9-b50d-1ee40f7bdaf2","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515315.4328527} 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":"8c1e91511ed7f1eaf43b4781fe318e2e"},"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:44070","level":"info","msg":"Received request.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:15Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.894641,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515315,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxNX0.PS_RV5NQ3AemXxp-NH42YjZMsEPSDgX94VvwoBebmMI"} 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":"f592df70-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/6b9bb0d5-9542-4084-8420-4e3574dfc262? 200 16ms","method":"GET","requestID":"8c1e91511ed7f1eaf43b4781fe318e2e","responseTime":16,"status":200,"url":"/devices/6b9bb0d5-9542-4084-8420-4e3574dfc262?"} gateway-1 | {"time_local":"09/Jul/2024:08:55:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6b9bb0d5-9542-4084-8420-4e3574dfc262? 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":"8c1e91511ed7f1eaf43b4781fe318e2e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxNX0.PS_RV5NQ3AemXxp-NH42YjZMsEPSDgX94VvwoBebmMI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"95f663da8b2afbfde14f8f31dd5b113d","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","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%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"81d31b9b-df66-4da5-b8dd-cbdb1bae1f45","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515315.4457312} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2f2d958f-7a4d-4a66-a6e7-7beb492897ab","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515315.446062} 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":"f592df70-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:15Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.630919,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8e1449b-2ef2-4475-a245-3759abea0f1d","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/f8e1449b-2ef2-4475-a245-3759abea0f1d","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515315,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxNX0.PS_RV5NQ3AemXxp-NH42YjZMsEPSDgX94VvwoBebmMI"} 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":"95f663da8b2afbfde14f8f31dd5b113d"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8e1449b-2ef2-4475-a245-3759abea0f1d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8e1449b-2ef2-4475-a245-3759abea0f1d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:13.114574060Z"}]},"request_id":"f393e197-7809-414f-815e-5cf19986bc26","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515315.4533284} 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":"95f663da8b2afbfde14f8f31dd5b113d"},"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/9a56f91d-8779-41ca-8a18-3400d333dd2f'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/9a56f91d-8779-41ca-8a18-3400d333dd2f'"} 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 32ms","method":"POST","requestID":"f592df70-3dd0-11ef-ab4a-87fddd4f273f","responseTime":32,"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/f8e1449b-2ef2-4475-a245-3759abea0f1d? 200 18ms","method":"GET","requestID":"95f663da8b2afbfde14f8f31dd5b113d","responseTime":18,"status":200,"url":"/devices/f8e1449b-2ef2-4475-a245-3759abea0f1d?"} gateway-1 | {"time_local":"09/Jul/2024:08:55:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f8e1449b-2ef2-4475-a245-3759abea0f1d? 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":"95f663da8b2afbfde14f8f31dd5b113d"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc0d4699-7677-4833-86cb-1ad0081f2123"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:15Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b9bb0d5-9542-4084-8420-4e3574dfc262","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ff464a0f-2ddc-40ab-977d-24eb37ddb0e1","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515315.4999936} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.666419,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b9bb0d5-9542-4084-8420-4e3574dfc262","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b9bb0d5-9542-4084-8420-4e3574dfc262","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"f59c7c60-3dd0-11ef-ab4a-87fddd4f273f"},"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/6b9bb0d5-9542-4084-8420-4e3574dfc262/signaling 200 10ms","method":"POST","requestID":"f59c7c60-3dd0-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/devices/6b9bb0d5-9542-4084-8420-4e3574dfc262/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:15Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8e1449b-2ef2-4475-a245-3759abea0f1d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6fe179bc-905d-449e-a6f3-c930a0175649","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515315.5130205} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/6b9bb0d5-9542-4084-8420-4e3574dfc262'"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.057477,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8e1449b-2ef2-4475-a245-3759abea0f1d","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f8e1449b-2ef2-4475-a245-3759abea0f1d","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"f59e7830-3dd0-11ef-ab4a-87fddd4f273f"},"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/f8e1449b-2ef2-4475-a245-3759abea0f1d/signaling 200 11ms","method":"POST","requestID":"f59e7830-3dd0-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/devices/f8e1449b-2ef2-4475-a245-3759abea0f1d/signaling"} device-1 | {"data":{"peerconnection":"9a56f91d-8779-41ca-8a18-3400d333dd2f","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/9a56f91d-8779-41ca-8a18-3400d333dd2f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9a56f91d-8779-41ca-8a18-3400d333dd2f","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":"67a5c4c69788353af8109730ed92c468","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/f8e1449b-2ef2-4475-a245-3759abea0f1d"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/6b9bb0d5-9542-4084-8420-4e3574dfc262"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/9a56f91d-8779-41ca-8a18-3400d333dd2f"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"67a5c4c69788353af8109730ed92c468","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55: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.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"67a5c4c69788353af8109730ed92c468"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/6b9bb0d5-9542-4084-8420-4e3574dfc262'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/6b9bb0d5-9542-4084-8420-4e3574dfc262'"} device-1 | {"data":{"peerconnection":"9a56f91d-8779-41ca-8a18-3400d333dd2f","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"9a56f91d-8779-41ca-8a18-3400d333dd2f","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/9a56f91d-8779-41ca-8a18-3400d333dd2f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9a56f91d-8779-41ca-8a18-3400d333dd2f","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":"06ac48faa91693b0adf285a8fd568513","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/f8e1449b-2ef2-4475-a245-3759abea0f1d"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/6b9bb0d5-9542-4084-8420-4e3574dfc262"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/9a56f91d-8779-41ca-8a18-3400d333dd2f"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:17Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9a56f91d-8779-41ca-8a18-3400d333dd2f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f9b4860b-1813-4dcf-bc01-725adc02cea3","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515317.6103373} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.679489,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9a56f91d-8779-41ca-8a18-3400d333dd2f","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/9a56f91d-8779-41ca-8a18-3400d333dd2f","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":"f6de9950-3dd0-11ef-ab4a-87fddd4f273f"},"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/9a56f91d-8779-41ca-8a18-3400d333dd2f 200 10ms","method":"GET","requestID":"f6de9950-3dd0-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/peerconnections/9a56f91d-8779-41ca-8a18-3400d333dd2f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 35ms","method":"POST","requestID":"06ac48faa91693b0adf285a8fd568513","responseTime":35,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55: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.038","http_referrer":"","http_user_agent":"node-fetch","requestID":"06ac48faa91693b0adf285a8fd568513"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:17Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8e1449b-2ef2-4475-a245-3759abea0f1d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5659ca71-1e80-47dc-aa94-939a61a468db","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515317.6404464} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.817654,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8e1449b-2ef2-4475-a245-3759abea0f1d","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f8e1449b-2ef2-4475-a245-3759abea0f1d","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"f6e32d30-3dd0-11ef-ab4a-87fddd4f273f"},"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/f8e1449b-2ef2-4475-a245-3759abea0f1d/signaling 200 10ms","method":"POST","requestID":"f6e32d30-3dd0-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/devices/f8e1449b-2ef2-4475-a245-3759abea0f1d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:17Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b9bb0d5-9542-4084-8420-4e3574dfc262","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2720d220-637d-4ff1-8649-d8ec7e74ed3d","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515317.6537647} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.692561,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b9bb0d5-9542-4084-8420-4e3574dfc262","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b9bb0d5-9542-4084-8420-4e3574dfc262","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"f6e52900-3dd0-11ef-ab4a-87fddd4f273f"},"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/6b9bb0d5-9542-4084-8420-4e3574dfc262/signaling 200 10ms","method":"POST","requestID":"f6e52900-3dd0-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/devices/6b9bb0d5-9542-4084-8420-4e3574dfc262/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxN30.jL26EO41B6TI8cyrsCCxxX04BZuy9dN9LeOv9Cd6yf4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c406a586c152ca0ea7d9748ad54e0305","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/dc0d4699-7677-4833-86cb-1ad0081f2123"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:17Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.313173,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/dc0d4699-7677-4833-86cb-1ad0081f2123","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/dc0d4699-7677-4833-86cb-1ad0081f2123","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515317,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxN30.jL26EO41B6TI8cyrsCCxxX04BZuy9dN9LeOv9Cd6yf4"} 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":"c406a586c152ca0ea7d9748ad54e0305"},"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/dc0d4699-7677-4833-86cb-1ad0081f2123"} gateway-1 | {"time_local":"09/Jul/2024:08:55:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/dc0d4699-7677-4833-86cb-1ad0081f2123 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":"c406a586c152ca0ea7d9748ad54e0305"} experiment-1 | {"level":"info","message":"GET /experiments/dc0d4699-7677-4833-86cb-1ad0081f2123 200 17ms","method":"GET","requestID":"c406a586c152ca0ea7d9748ad54e0305","responseTime":17,"status":200,"url":"/experiments/dc0d4699-7677-4833-86cb-1ad0081f2123"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxN30.jL26EO41B6TI8cyrsCCxxX04BZuy9dN9LeOv9Cd6yf4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e717d757fe863829c3c9933ffc4283ba","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/dc0d4699-7677-4833-86cb-1ad0081f2123"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:17Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.161481,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:17Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/dc0d4699-7677-4833-86cb-1ad0081f2123","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/dc0d4699-7677-4833-86cb-1ad0081f2123","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515317,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxN30.jL26EO41B6TI8cyrsCCxxX04BZuy9dN9LeOv9Cd6yf4"} 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":"e717d757fe863829c3c9933ffc4283ba"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc0d4699-7677-4833-86cb-1ad0081f2123"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:17Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.254804,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:17Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9a56f91d-8779-41ca-8a18-3400d333dd2f","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:http://localhost/peerconnections/9a56f91d-8779-41ca-8a18-3400d333dd2f","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515317,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxN30.jL26EO41B6TI8cyrsCCxxX04BZuy9dN9LeOv9Cd6yf4"} 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":"f70cd540-3dd0-11ef-ab4a-87fddd4f273f"},"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/9a56f91d-8779-41ca-8a18-3400d333dd2f' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/9a56f91d-8779-41ca-8a18-3400d333dd2f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9a56f91d-8779-41ca-8a18-3400d333dd2f","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":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9a56f91d-8779-41ca-8a18-3400d333dd2f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9a56f91d-8779-41ca-8a18-3400d333dd2f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"7259e37e-be7d-406e-92c5-d26607ff9a5c","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515317.9312873} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"be7c928f0638d40aa0ddf1cd59ebbbee","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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c5563cd1-66e7-4c7c-9556-ff87930471b7","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515317.931621} 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":"9462eb41a58a8b5df023853457feb8a1","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/f8e1449b-2ef2-4475-a245-3759abea0f1d"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/6b9bb0d5-9542-4084-8420-4e3574dfc262"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9a56f91d-8779-41ca-8a18-3400d333dd2f"}}},"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":"f70cd540-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} 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/f8e1449b-2ef2-4475-a245-3759abea0f1d"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/6b9bb0d5-9542-4084-8420-4e3574dfc262"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9a56f91d-8779-41ca-8a18-3400d333dd2f"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"9a56f91d-8779-41ca-8a18-3400d333dd2f","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/9a56f91d-8779-41ca-8a18-3400d333dd2f 204 43ms","method":"DELETE","requestID":"f70cd540-3dd0-11ef-ab4a-87fddd4f273f","responseTime":43,"status":204,"url":"/peerconnections/9a56f91d-8779-41ca-8a18-3400d333dd2f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc0d4699-7677-4833-86cb-1ad0081f2123"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:17Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8e1449b-2ef2-4475-a245-3759abea0f1d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a1316470-e8c2-41c9-850c-9cb565be8147","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515317.9753957} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.447543,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8e1449b-2ef2-4475-a245-3759abea0f1d","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f8e1449b-2ef2-4475-a245-3759abea0f1d","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"f7164b20-3dd0-11ef-ab4a-87fddd4f273f"},"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/f8e1449b-2ef2-4475-a245-3759abea0f1d/signaling 200 10ms","method":"POST","requestID":"f7164b20-3dd0-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/devices/f8e1449b-2ef2-4475-a245-3759abea0f1d/signaling"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdc0d4699-7677-4833-86cb-1ad0081f2123': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdc0d4699-7677-4833-86cb-1ad0081f2123","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"71b3d0f3-ea85-4fd9-848c-26d1586c0998","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515317.9804125} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"189638be-317a-4204-97a7-b03e6f46c445","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515317.9808617} 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":"e717d757fe863829c3c9933ffc4283ba"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:17Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b9bb0d5-9542-4084-8420-4e3574dfc262","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2a60d3be-1c98-4491-ba70-1dce09e50ec1","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515317.9875078} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.678177,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b9bb0d5-9542-4084-8420-4e3574dfc262","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b9bb0d5-9542-4084-8420-4e3574dfc262","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"f71846f0-3dd0-11ef-ab4a-87fddd4f273f"},"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/6b9bb0d5-9542-4084-8420-4e3574dfc262/signaling 200 9ms","method":"POST","requestID":"f71846f0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":9,"status":200,"url":"/devices/6b9bb0d5-9542-4084-8420-4e3574dfc262/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/dc0d4699-7677-4833-86cb-1ad0081f2123"} gateway-1 | {"time_local":"09/Jul/2024:08:55:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/dc0d4699-7677-4833-86cb-1ad0081f2123 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.157","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e717d757fe863829c3c9933ffc4283ba"} gateway-1 | {"time_local":"09/Jul/2024:08:55:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2975","request_time":"4.350","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"3a88f81d0f09ba78b617083f780842bb"} experiment-1 | {"level":"info","message":"DELETE /experiments/dc0d4699-7677-4833-86cb-1ad0081f2123 204 153ms","method":"DELETE","requestID":"e717d757fe863829c3c9933ffc4283ba","responseTime":153,"status":204,"url":"/experiments/dc0d4699-7677-4833-86cb-1ad0081f2123"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 115ms","method":"POST","requestID":"be7c928f0638d40aa0ddf1cd59ebbbee","responseTime":115,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.118","http_referrer":"","http_user_agent":"node-fetch","requestID":"be7c928f0638d40aa0ddf1cd59ebbbee"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 114ms","method":"POST","requestID":"9462eb41a58a8b5df023853457feb8a1","responseTime":114,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.118","http_referrer":"","http_user_agent":"node-fetch","requestID":"9462eb41a58a8b5df023853457feb8a1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxOH0._bND7GetCfJ04FkbqnYCu3WhtliN7oE76lxll61hKlc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7cc4a742282256cf0a8d7de109e1ff77","responseTime":4,"status":200,"url":"/auth"} gateway-1 | {"time_local":"09/Jul/2024:08:55:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2485","request_time":"2.860","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"afd776868c73eab76af2714d25f84e8b"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:18Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.839731,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:18Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515318,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxOH0._bND7GetCfJ04FkbqnYCu3WhtliN7oE76lxll61hKlc"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f8e1449b-2ef2-4475-a245-3759abea0f1d' closed"} 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":"7cc4a742282256cf0a8d7de109e1ff77"},"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/6b9bb0d5-9542-4084-8420-4e3574dfc262' 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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"642a003f-6cec-4280-b4e4-4b2a9fcbb52f","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515318.0726388} 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":"7cc4a742282256cf0a8d7de109e1ff77"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a59d4c5f-53d6-42f6-9291-1da2b70b3806","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515318.0779197} 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":"7cc4a742282256cf0a8d7de109e1ff77"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"0f410444-0a35-4628-aa0f-e3d61589f50b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515318.0872848} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"426e4b1f-6c43-43ee-90d8-8ead2d257dd1","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515318.0873635} 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":"7cc4a742282256cf0a8d7de109e1ff77"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:18.087261293Z"}]},"request_id":"860eaf1f-f40e-41b6-9ae9-9e3c62fc9509","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515318.0921214} 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":"7cc4a742282256cf0a8d7de109e1ff77"},"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":"7cc4a742282256cf0a8d7de109e1ff77","responseTime":39,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"09/Jul/2024:08:55:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7cc4a742282256cf0a8d7de109e1ff77"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxOH0._bND7GetCfJ04FkbqnYCu3WhtliN7oE76lxll61hKlc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0b28aa649f4b4a44e03dc5396c91e41b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:18Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.775782,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:18Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515318,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxOH0._bND7GetCfJ04FkbqnYCu3WhtliN7oE76lxll61hKlc"} 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":"0b28aa649f4b4a44e03dc5396c91e41b"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0d24511-964a-4d9b-a212-e22b8e1bb7be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4f4f5e9c-579a-4f18-9e3c-b82cf7360a9c","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515318.1156967} 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":"0b28aa649f4b4a44e03dc5396c91e41b"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fdf39e70-0119-468a-b984-9778bc97c348","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515318.1202805} 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":"0b28aa649f4b4a44e03dc5396c91e41b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0d24511-964a-4d9b-a212-e22b8e1bb7be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"10fa9a6e-b9ef-40cb-baf6-87d75949e94b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515318.1355891} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"331e2dae-2caf-4cae-af24-f9aaf74f1ad8","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515318.135809} 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":"0b28aa649f4b4a44e03dc5396c91e41b"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0d24511-964a-4d9b-a212-e22b8e1bb7be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0d24511-964a-4d9b-a212-e22b8e1bb7be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:18.135565653Z"}]},"request_id":"3359080e-2cd1-4bba-bfd7-364f1e4519b1","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515318.1394277} 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":"0b28aa649f4b4a44e03dc5396c91e41b"},"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":"09/Jul/2024:08:55:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0b28aa649f4b4a44e03dc5396c91e41b"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"0b28aa649f4b4a44e03dc5396c91e41b","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxOH0._bND7GetCfJ04FkbqnYCu3WhtliN7oE76lxll61hKlc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"976c5ec4224ad3f69d1a027a1d94d58a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:18Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.785017,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:18Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515318,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxOH0._bND7GetCfJ04FkbqnYCu3WhtliN7oE76lxll61hKlc"} 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":"976c5ec4224ad3f69d1a027a1d94d58a"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:18.087261293Z"}]},"request_id":"8cfee623-feb9-4265-a262-d2f5c07c1476","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515318.6530666} 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":"976c5ec4224ad3f69d1a027a1d94d58a"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"584a73a5-a854-426f-a076-23f6f8f89f3b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515318.6586967} 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":"976c5ec4224ad3f69d1a027a1d94d58a"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:18.087261293Z"}]},"request_id":"d14809c9-382a-49f0-bfe3-4b6e6af81bc9","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515318.6713219} 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":"976c5ec4224ad3f69d1a027a1d94d58a"},"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":"09/Jul/2024:08:55:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.038","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"976c5ec4224ad3f69d1a027a1d94d58a"} device-1 | {"level":"info","message":"PATCH /devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c 200 33ms","method":"PATCH","requestID":"976c5ec4224ad3f69d1a027a1d94d58a","responseTime":33,"status":200,"url":"/devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxOH0._bND7GetCfJ04FkbqnYCu3WhtliN7oE76lxll61hKlc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"80fed89854068f66fdbde69dbd2aa193","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:18Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.119441,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:18Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515318,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMxOH0._bND7GetCfJ04FkbqnYCu3WhtliN7oE76lxll61hKlc"} 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":"80fed89854068f66fdbde69dbd2aa193"},"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":"09/Jul/2024:08:55:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c/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":"80fed89854068f66fdbde69dbd2aa193"} device-1 | {"level":"info","message":"POST /devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c/websocket 200 20ms","method":"POST","requestID":"80fed89854068f66fdbde69dbd2aa193","responseTime":20,"status":200,"url":"/devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c' 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":"5f59f90a59f01eae9b2f1ab08d5993ce","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"09/Jul/2024:08:55:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be/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":"5f59f90a59f01eae9b2f1ab08d5993ce"} device-1 | {"level":"info","message":"OPTIONS /devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be/websocket 200 1ms","method":"OPTIONS","requestID":"5f59f90a59f01eae9b2f1ab08d5993ce","responseTime":1,"status":200,"url":"/devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyMH0.xkNvH85WjDaK6ru3YD7hSPI56sNo6_jcPN8P6_V45qs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"6712d12ae9f582b9f33b2c8438822c73","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:20Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.236843,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:20Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515320,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyMH0.xkNvH85WjDaK6ru3YD7hSPI56sNo6_jcPN8P6_V45qs"} 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":"6712d12ae9f582b9f33b2c8438822c73"},"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/b0d24511-964a-4d9b-a212-e22b8e1bb7be/websocket 200 21ms","method":"POST","requestID":"6712d12ae9f582b9f33b2c8438822c73","responseTime":21,"status":200,"url":"/devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be/websocket"} gateway-1 | {"time_local":"09/Jul/2024:08:55:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.029","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"6712d12ae9f582b9f33b2c8438822c73"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyMH0.xkNvH85WjDaK6ru3YD7hSPI56sNo6_jcPN8P6_V45qs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2b33c184316e65a55f483ae1deecd0fd","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:20Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.27075,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515320,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyMH0.xkNvH85WjDaK6ru3YD7hSPI56sNo6_jcPN8P6_V45qs"} 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":"2b33c184316e65a55f483ae1deecd0fd"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:18.087261293Z"}]},"request_id":"5df7bc52-fced-43f1-8317-923158ec560a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515320.202371} 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":"2b33c184316e65a55f483ae1deecd0fd"},"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":"09/Jul/2024:08:55:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c? 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":"2b33c184316e65a55f483ae1deecd0fd"} device-1 | {"level":"info","message":"GET /devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c? 200 18ms","method":"GET","requestID":"2b33c184316e65a55f483ae1deecd0fd","responseTime":18,"status":200,"url":"/devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyMH0.xkNvH85WjDaK6ru3YD7hSPI56sNo6_jcPN8P6_V45qs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"470ab30ecab5204ff19c6be85faa12e6","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:20Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.777524,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515320,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyMH0.xkNvH85WjDaK6ru3YD7hSPI56sNo6_jcPN8P6_V45qs"} 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":"470ab30ecab5204ff19c6be85faa12e6"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0d24511-964a-4d9b-a212-e22b8e1bb7be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0d24511-964a-4d9b-a212-e22b8e1bb7be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:18.135565653Z"}]},"request_id":"2236672f-4b19-42bc-b5a2-f1563b87542a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515320.231285} 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":"470ab30ecab5204ff19c6be85faa12e6"},"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":"09/Jul/2024:08:55:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be? 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":"470ab30ecab5204ff19c6be85faa12e6"} device-1 | {"level":"info","message":"GET /devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be? 200 22ms","method":"GET","requestID":"470ab30ecab5204ff19c6be85faa12e6","responseTime":22,"status":200,"url":"/devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyMH0.xkNvH85WjDaK6ru3YD7hSPI56sNo6_jcPN8P6_V45qs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6160aff13390fb6e8cbec7ad25c398a1","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:44070","level":"info","msg":"Received request.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:20Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.524267,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515320,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyMH0.xkNvH85WjDaK6ru3YD7hSPI56sNo6_jcPN8P6_V45qs"} 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":"6160aff13390fb6e8cbec7ad25c398a1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e297c66a-cdbe-4908-a190-74ee4f59b8b0"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e297c66a-cdbe-4908-a190-74ee4f59b8b0"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e297c66a-cdbe-4908-a190-74ee4f59b8b0"},"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:44070","level":"info","msg":"Received request.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:20Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.202646,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:20Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Received request.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515320,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyMH0.xkNvH85WjDaK6ru3YD7hSPI56sNo6_jcPN8P6_V45qs"} 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":"f879d2c0-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Sent response.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.209445,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515320,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyMH0.xkNvH85WjDaK6ru3YD7hSPI56sNo6_jcPN8P6_V45qs"} 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":"f87a20e0-3dd0-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:18.087261293Z"}]},"request_id":"0e7eab41-eec5-4097-972e-65c95e1a5365","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515320.3128877} 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":"f879d2c0-3dd0-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0d24511-964a-4d9b-a212-e22b8e1bb7be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0d24511-964a-4d9b-a212-e22b8e1bb7be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:18.135565653Z"}]},"request_id":"d74f520e-ac49-426e-9a22-c6ad7316c8a5","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515320.314449} 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":"f87a20e0-3dd0-11ef-ab4a-87fddd4f273f"},"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/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c? 200 21ms","method":"GET","requestID":"f879d2c0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":21,"status":200,"url":"/devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be? 200 20ms","method":"GET","requestID":"f87a20e0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":20,"status":200,"url":"/devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e297c66a-cdbe-4908-a190-74ee4f59b8b0"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e297c66a-cdbe-4908-a190-74ee4f59b8b0"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e297c66a-cdbe-4908-a190-74ee4f59b8b0"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e297c66a-cdbe-4908-a190-74ee4f59b8b0"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e297c66a-cdbe-4908-a190-74ee4f59b8b0"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e297c66a-cdbe-4908-a190-74ee4f59b8b0"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e297c66a-cdbe-4908-a190-74ee4f59b8b0"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e297c66a-cdbe-4908-a190-74ee4f59b8b0"},"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:44070","level":"info","msg":"Received request.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:20Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.999984,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:20Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e297c66a-cdbe-4908-a190-74ee4f59b8b0"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515320,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyMH0.xkNvH85WjDaK6ru3YD7hSPI56sNo6_jcPN8P6_V45qs"} 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":"f884a830-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Received request.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:20Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Sent response.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.923463,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515320,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyMH0.xkNvH85WjDaK6ru3YD7hSPI56sNo6_jcPN8P6_V45qs"} 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":"f884f650-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:20Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d9641ea9-1b2d-4cd6-82c1-afc625a678fc","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515320.38283} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0d24511-964a-4d9b-a212-e22b8e1bb7be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0d24511-964a-4d9b-a212-e22b8e1bb7be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:18.135565653Z"}]},"request_id":"2ae99118-1fb3-44f9-8614-4cbac3f62428","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515320.3861456} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.244266,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","object_type":"device","rebac_allow":false,"scope_allow":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":"f8856b80-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} 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":"f884f650-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:18.087261293Z"}]},"request_id":"c76fb91a-83f1-4228-9dfd-c8c66d1de7c1","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515320.387327} 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":"f884a830-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c/signaling 200 23ms","method":"POST","requestID":"f8856b80-3dd0-11ef-ab4a-87fddd4f273f","responseTime":23,"status":200,"url":"/devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be? 200 28ms","method":"GET","requestID":"f884f650-3dd0-11ef-ab4a-87fddd4f273f","responseTime":28,"status":200,"url":"/devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be?"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe297c66a-cdbe-4908-a190-74ee4f59b8b0#owner@http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe297c66a-cdbe-4908-a190-74ee4f59b8b0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"03fcf96d-260f-4dff-bec5-c3bd0b770548","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515320.40082} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8699a4b0-3ebe-45fc-90e0-8ab1c9c42364","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515320.4025643} 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":"6160aff13390fb6e8cbec7ad25c398a1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":22}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c? 200 35ms","method":"GET","requestID":"f884a830-3dd0-11ef-ab4a-87fddd4f273f","responseTime":35,"status":200,"url":"/devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c?"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:20Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0d24511-964a-4d9b-a212-e22b8e1bb7be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a9645e95-979a-47fb-a1da-5e2a852f4932","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515320.409345} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.067443,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be","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":"f8898a30-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:20Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/e297c66a-cdbe-4908-a190-74ee4f59b8b0","user":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"POST /devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be/signaling 200 14ms","method":"POST","requestID":"f8898a30-3dd0-11ef-ab4a-87fddd4f273f","responseTime":14,"status":200,"url":"/devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be/signaling"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7819dc31-a3a6-45ac-a203-b32b74074325","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515320.418084} gateway-1 | {"time_local":"09/Jul/2024:08:55:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.178","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6160aff13390fb6e8cbec7ad25c398a1"} experiment-1 | {"level":"info","message":"POST /experiments? 201 170ms","method":"POST","requestID":"6160aff13390fb6e8cbec7ad25c398a1","responseTime":170,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.665996,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","object_type":"device","rebac_allow":false,"scope_allow":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":"f88ac2b0-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyMH0.xkNvH85WjDaK6ru3YD7hSPI56sNo6_jcPN8P6_V45qs","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c/signaling 200 14ms","method":"POST","requestID":"f88ac2b0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":14,"status":200,"url":"/devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f7b2030f18ee5a05165e2dcc5ac32fa6","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:44070","level":"info","msg":"Received request.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:20Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.117893,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515320,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyMH0.xkNvH85WjDaK6ru3YD7hSPI56sNo6_jcPN8P6_V45qs"} 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":"f7b2030f18ee5a05165e2dcc5ac32fa6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Received request.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:20Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0d24511-964a-4d9b-a212-e22b8e1bb7be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"df5b9da7-7ff7-4717-a10d-763c6977eb69","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515320.4336503} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Sent response.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.196548,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"f88d33b0-3dd0-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:18.087261293Z"}]},"request_id":"0665196d-a8bd-45ee-87c3-d5938d22e165","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515320.4363344} 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":"f7b2030f18ee5a05165e2dcc5ac32fa6"},"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/b0d24511-964a-4d9b-a212-e22b8e1bb7be/signaling 200 13ms","method":"POST","requestID":"f88d33b0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":13,"status":200,"url":"/devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e297c66a-cdbe-4908-a190-74ee4f59b8b0"},"level":"info","message":"Attempting to create peerconnections for experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e297c66a-cdbe-4908-a190-74ee4f59b8b0"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"31007467-dd81-46f1-8c7b-86a99a1d06cc"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"bfa6dbb5-8583-45eb-a2cd-553649137cdd"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"9f628300-fa5c-45e4-b7a4-656013d4c2eb"}]},"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/b0d24511-964a-4d9b-a212-e22b8e1bb7be"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} gateway-1 | {"time_local":"09/Jul/2024:08:55:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c? 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":"f7b2030f18ee5a05165e2dcc5ac32fa6"} device-1 | {"level":"info","message":"GET /devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c? 200 17ms","method":"GET","requestID":"f7b2030f18ee5a05165e2dcc5ac32fa6","responseTime":17,"status":200,"url":"/devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c?"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyMH0.xkNvH85WjDaK6ru3YD7hSPI56sNo6_jcPN8P6_V45qs","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:20Z"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"aec6025df191e0e581477d2b691d733a","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.136112,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:20Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515320,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyMH0.xkNvH85WjDaK6ru3YD7hSPI56sNo6_jcPN8P6_V45qs"} 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":"f88ff2d0-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:20Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.895661,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515320,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyMH0.xkNvH85WjDaK6ru3YD7hSPI56sNo6_jcPN8P6_V45qs"} 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":"aec6025df191e0e581477d2b691d733a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","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%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"01f24b3a-5f9b-46f1-acf7-2bba5e9a4f88","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515320.4617448} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6604fe4d-a7a9-4622-b905-02f473fa5dad","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515320.462048} 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":"f88ff2d0-3dd0-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0d24511-964a-4d9b-a212-e22b8e1bb7be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0d24511-964a-4d9b-a212-e22b8e1bb7be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:18.135565653Z"}]},"request_id":"ee66c7c5-55bf-4320-8891-4d84c4a28d19","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515320.4632142} 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":"aec6025df191e0e581477d2b691d733a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"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/7883043f-2250-4074-ad41-79d2abb9c2fe'"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"09/Jul/2024:08:55:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aec6025df191e0e581477d2b691d733a"} device-1 | {"level":"info","message":"GET /devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be? 200 28ms","method":"GET","requestID":"aec6025df191e0e581477d2b691d733a","responseTime":28,"status":200,"url":"/devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be?"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/7883043f-2250-4074-ad41-79d2abb9c2fe'"} 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":"f88ff2d0-3dd0-11ef-ab4a-87fddd4f273f","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/e297c66a-cdbe-4908-a190-74ee4f59b8b0"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:20Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"556a818d-429a-4b2a-8322-d703b03e83e0","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515320.5134864} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.945171,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","object_type":"device","rebac_allow":false,"scope_allow":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":"f8998fc0-3dd0-11ef-ab4a-87fddd4f273f"},"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/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c/signaling 200 10ms","method":"POST","requestID":"f8998fc0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:20Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0d24511-964a-4d9b-a212-e22b8e1bb7be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"104cc7cf-5638-469c-bea9-6b3e33f74d35","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515320.5249856} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.444492,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"f89b6480-3dd0-11ef-ab4a-87fddd4f273f"},"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/b0d24511-964a-4d9b-a212-e22b8e1bb7be/signaling 200 8ms","method":"POST","requestID":"f89b6480-3dd0-11ef-ab4a-87fddd4f273f","responseTime":8,"status":200,"url":"/devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be/signaling"} device-1 | {"data":{"peerconnection":"7883043f-2250-4074-ad41-79d2abb9c2fe","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/7883043f-2250-4074-ad41-79d2abb9c2fe' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7883043f-2250-4074-ad41-79d2abb9c2fe","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be'"} 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":"3a12347f88d3ce126a128bffc0848c36","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/7883043f-2250-4074-ad41-79d2abb9c2fe"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"3a12347f88d3ce126a128bffc0848c36","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"3a12347f88d3ce126a128bffc0848c36"} device-1 | {"data":{"peerconnection":"7883043f-2250-4074-ad41-79d2abb9c2fe","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"7883043f-2250-4074-ad41-79d2abb9c2fe","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/7883043f-2250-4074-ad41-79d2abb9c2fe' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7883043f-2250-4074-ad41-79d2abb9c2fe","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":"c2d16b9cb7c032236b5fc09f54b26cd0","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/7883043f-2250-4074-ad41-79d2abb9c2fe"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:22Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7883043f-2250-4074-ad41-79d2abb9c2fe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"54eef593-efe1-4b0e-9267-8e6b215e024a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515322.6032727} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.063761,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/7883043f-2250-4074-ad41-79d2abb9c2fe","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/7883043f-2250-4074-ad41-79d2abb9c2fe","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":"f9d85150-3dd0-11ef-ab4a-87fddd4f273f"},"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/7883043f-2250-4074-ad41-79d2abb9c2fe 200 11ms","method":"GET","requestID":"f9d85150-3dd0-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/peerconnections/7883043f-2250-4074-ad41-79d2abb9c2fe"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 45ms","method":"POST","requestID":"c2d16b9cb7c032236b5fc09f54b26cd0","responseTime":45,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch","requestID":"c2d16b9cb7c032236b5fc09f54b26cd0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:22Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0d24511-964a-4d9b-a212-e22b8e1bb7be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e1b3a367-df4a-4c13-8e39-695a8654f4a4","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515322.640394} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.629925,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"f9de1db0-3dd0-11ef-ab4a-87fddd4f273f"},"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/b0d24511-964a-4d9b-a212-e22b8e1bb7be/signaling 200 10ms","method":"POST","requestID":"f9de1db0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:22Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a2d2b405-a3f8-4f2c-bf14-551c72bb93fb","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515322.6519275} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.540759,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"f9dff270-3dd0-11ef-ab4a-87fddd4f273f"},"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/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c/signaling 200 9ms","method":"POST","requestID":"f9dff270-3dd0-11ef-ab4a-87fddd4f273f","responseTime":9,"status":200,"url":"/devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyMn0.PmQlsrpSJ_DyKnFC7H6NNDUiN1ZQ6r9rXCK8mIfFTJQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"51aef194eface8ff0ea54ab4b9f4c7db","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e297c66a-cdbe-4908-a190-74ee4f59b8b0"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:22Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.682868,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e297c66a-cdbe-4908-a190-74ee4f59b8b0","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/e297c66a-cdbe-4908-a190-74ee4f59b8b0","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515322,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyMn0.PmQlsrpSJ_DyKnFC7H6NNDUiN1ZQ6r9rXCK8mIfFTJQ"} 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":"51aef194eface8ff0ea54ab4b9f4c7db"},"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/e297c66a-cdbe-4908-a190-74ee4f59b8b0"} gateway-1 | {"time_local":"09/Jul/2024:08:55:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e297c66a-cdbe-4908-a190-74ee4f59b8b0 HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"51aef194eface8ff0ea54ab4b9f4c7db"} experiment-1 | {"level":"info","message":"GET /experiments/e297c66a-cdbe-4908-a190-74ee4f59b8b0 200 18ms","method":"GET","requestID":"51aef194eface8ff0ea54ab4b9f4c7db","responseTime":18,"status":200,"url":"/experiments/e297c66a-cdbe-4908-a190-74ee4f59b8b0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyMn0.PmQlsrpSJ_DyKnFC7H6NNDUiN1ZQ6r9rXCK8mIfFTJQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fe8f254d98e3156724185644b2793aea","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/e297c66a-cdbe-4908-a190-74ee4f59b8b0"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:22Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.504064,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:22Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e297c66a-cdbe-4908-a190-74ee4f59b8b0","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/e297c66a-cdbe-4908-a190-74ee4f59b8b0","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515322,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyMn0.PmQlsrpSJ_DyKnFC7H6NNDUiN1ZQ6r9rXCK8mIfFTJQ"} 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":"fe8f254d98e3156724185644b2793aea"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e297c66a-cdbe-4908-a190-74ee4f59b8b0"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:22Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.135257,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:22Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/7883043f-2250-4074-ad41-79d2abb9c2fe","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:http://localhost/peerconnections/7883043f-2250-4074-ad41-79d2abb9c2fe","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515322,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyMn0.PmQlsrpSJ_DyKnFC7H6NNDUiN1ZQ6r9rXCK8mIfFTJQ"} 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":"f9fec510-3dd0-11ef-ab4a-87fddd4f273f"},"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/7883043f-2250-4074-ad41-79d2abb9c2fe' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/7883043f-2250-4074-ad41-79d2abb9c2fe' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7883043f-2250-4074-ad41-79d2abb9c2fe","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7883043f-2250-4074-ad41-79d2abb9c2fe': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7883043f-2250-4074-ad41-79d2abb9c2fe","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"43e4f6c5-57b7-47e8-9c5b-dee205d69e46","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515322.8692079} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"690ea8b6-2687-4bfa-a455-b74a9a907992","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515322.8694136} 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":"cf8a9f27922b4c418b6fbedbe4173145","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":"f9fec510-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} 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/b0d24511-964a-4d9b-a212-e22b8e1bb7be"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/7883043f-2250-4074-ad41-79d2abb9c2fe"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2f52f834821b91f98a4cac5165a65f63","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/7883043f-2250-4074-ad41-79d2abb9c2fe"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"7883043f-2250-4074-ad41-79d2abb9c2fe","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/7883043f-2250-4074-ad41-79d2abb9c2fe 204 44ms","method":"DELETE","requestID":"f9fec510-3dd0-11ef-ab4a-87fddd4f273f","responseTime":44,"status":204,"url":"/peerconnections/7883043f-2250-4074-ad41-79d2abb9c2fe"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e297c66a-cdbe-4908-a190-74ee4f59b8b0"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:22Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0d24511-964a-4d9b-a212-e22b8e1bb7be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"09a041e2-1d81-4de2-8cd9-9fdfb0997350","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515322.9306366} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.393086,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be","object_type":"device","rebac_allow":false,"scope_allow":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":"fa09e8a0-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe297c66a-cdbe-4908-a190-74ee4f59b8b0': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe297c66a-cdbe-4908-a190-74ee4f59b8b0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"a56eb4f4-8d62-4629-97a5-6a341abc8d7a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515322.93703} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be/signaling 200 16ms","method":"POST","requestID":"fa09e8a0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":16,"status":200,"url":"/devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be/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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eb420501-c95b-47ae-b676-77ae4af08ac8","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515322.9380925} 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":"fe8f254d98e3156724185644b2793aea"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:22Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"10f2f648-c088-449a-a6d7-853486589300","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515322.9501998} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.470425,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c","object_type":"device","rebac_allow":false,"scope_allow":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":"fa0cf5e0-3dd0-11ef-ab4a-87fddd4f273f"},"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/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c/signaling 200 17ms","method":"POST","requestID":"fa0cf5e0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":17,"status":200,"url":"/devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/e297c66a-cdbe-4908-a190-74ee4f59b8b0"} gateway-1 | {"time_local":"09/Jul/2024:08:55:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/e297c66a-cdbe-4908-a190-74ee4f59b8b0 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.193","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fe8f254d98e3156724185644b2793aea"} gateway-1 | {"time_local":"09/Jul/2024:08:55:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2581","request_time":"4.318","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"35cc5b219d83dd4a8120a006ddaf2caf"} experiment-1 | {"level":"info","message":"DELETE /experiments/e297c66a-cdbe-4908-a190-74ee4f59b8b0 204 190ms","method":"DELETE","requestID":"fe8f254d98e3156724185644b2793aea","responseTime":190,"status":204,"url":"/experiments/e297c66a-cdbe-4908-a190-74ee4f59b8b0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 155ms","method":"POST","requestID":"cf8a9f27922b4c418b6fbedbe4173145","responseTime":155,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55: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.158","http_referrer":"","http_user_agent":"node-fetch","requestID":"cf8a9f27922b4c418b6fbedbe4173145"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 153ms","method":"POST","requestID":"2f52f834821b91f98a4cac5165a65f63","responseTime":153,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55: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.159","http_referrer":"","http_user_agent":"node-fetch","requestID":"2f52f834821b91f98a4cac5165a65f63"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyM30.s5uYndOgFrRurTxVVCGz0-Iml2SZf_XEKgPNmPqmZIc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"6fb2e7342bfcab2bb5701c204cae7999","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"09/Jul/2024:08:55:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2490","request_time":"2.866","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1ba866141ee55ab77d64315a09ce5809"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/d7d1a9ce-79f7-4388-8cf6-135f40c4bf6c' closed"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:23Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.873312,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515323,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyM30.s5uYndOgFrRurTxVVCGz0-Iml2SZf_XEKgPNmPqmZIc"} 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":"6fb2e7342bfcab2bb5701c204cae7999"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b0d24511-964a-4d9b-a212-e22b8e1bb7be' 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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a726915b-59be-47cf-979d-df4b51fff8f4","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515323.0517893} 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":"6fb2e7342bfcab2bb5701c204cae7999"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d1300535-deea-45ef-a726-9fe1371fee4d","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515323.0570736} 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":"6fb2e7342bfcab2bb5701c204cae7999"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"5bd518a0-72d4-459d-81c6-a59b1b6d3f80","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515323.0714843} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"09ac6075-d0d3-4961-84ce-4de0fd845871","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515323.0716846} 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":"6fb2e7342bfcab2bb5701c204cae7999"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:23.071465920Z"}]},"request_id":"f5b52b3b-27ef-4610-b69c-aeb2414769bb","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515323.0759687} 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":"6fb2e7342bfcab2bb5701c204cae7999"},"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":"09/Jul/2024:08:55: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":"6fb2e7342bfcab2bb5701c204cae7999"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"6fb2e7342bfcab2bb5701c204cae7999","responseTime":46,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyM30.s5uYndOgFrRurTxVVCGz0-Iml2SZf_XEKgPNmPqmZIc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"435f4788d307105dbb36f10259bd9de1","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:23Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.686848,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515323,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyM30.s5uYndOgFrRurTxVVCGz0-Iml2SZf_XEKgPNmPqmZIc"} 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":"435f4788d307105dbb36f10259bd9de1"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1af4a187-a5b0-49d2-b2a6-a1039741aa47","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"15d4af00-331b-4710-80d5-a13b4970053b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515323.102812} 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":"435f4788d307105dbb36f10259bd9de1"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4f83e4e1-db5b-4bd1-a2e3-80d5a9c0d58a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515323.1079311} 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":"435f4788d307105dbb36f10259bd9de1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1af4a187-a5b0-49d2-b2a6-a1039741aa47","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"ee37fb67-ff70-4da8-8e99-64faf4d49064","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515323.119046} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e418fe77-4d9d-41b3-b208-a8b6f6b2de33","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515323.1191614} 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":"435f4788d307105dbb36f10259bd9de1"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1af4a187-a5b0-49d2-b2a6-a1039741aa47","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1af4a187-a5b0-49d2-b2a6-a1039741aa47","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:23.119022276Z"}]},"request_id":"c666ab69-ac89-4288-b018-da16c2875f51","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515323.122876} 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":"435f4788d307105dbb36f10259bd9de1"},"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":"09/Jul/2024:08:55: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.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"435f4788d307105dbb36f10259bd9de1"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"435f4788d307105dbb36f10259bd9de1","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyM30.s5uYndOgFrRurTxVVCGz0-Iml2SZf_XEKgPNmPqmZIc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8481bc0731d6889785c6406d0a531b25","responseTime":5,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyM30.s5uYndOgFrRurTxVVCGz0-Iml2SZf_XEKgPNmPqmZIc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"5b112167e6eddc373fbc7619a4ea0b18","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:44070","level":"info","msg":"Received request.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:23Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.918199,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:23Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Received request.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:23Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Sent response.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.750429,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515323,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyM30.s5uYndOgFrRurTxVVCGz0-Iml2SZf_XEKgPNmPqmZIc"} 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":"8481bc0731d6889785c6406d0a531b25"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515323,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyM30.s5uYndOgFrRurTxVVCGz0-Iml2SZf_XEKgPNmPqmZIc"} 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":"5b112167e6eddc373fbc7619a4ea0b18"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1af4a187-a5b0-49d2-b2a6-a1039741aa47","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1af4a187-a5b0-49d2-b2a6-a1039741aa47","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:23.119022276Z"}]},"request_id":"70d18fd9-d68b-45dc-91e2-009d0e17321a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515323.6120074} 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":"8481bc0731d6889785c6406d0a531b25"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:23.071465920Z"}]},"request_id":"ac3706fb-478e-4abd-a591-91446541f93a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515323.6142309} 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":"5b112167e6eddc373fbc7619a4ea0b18"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0c6a6182-6c36-46f0-912d-6d473df9d0a3","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515323.619876} 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":"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":"8481bc0731d6889785c6406d0a531b25"},"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":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"90b13a59-85d9-45cb-a34b-a65bceee8452","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515323.628559} 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":"5b112167e6eddc373fbc7619a4ea0b18"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:23.071465920Z"}]},"request_id":"909b01ba-d04a-4306-bbad-c6ced7cef407","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515323.6301792} 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":"5b112167e6eddc373fbc7619a4ea0b18"},"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":"09/Jul/2024:08:55:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.042","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"5b112167e6eddc373fbc7619a4ea0b18"} device-1 | {"level":"info","message":"PATCH /devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4 200 33ms","method":"PATCH","requestID":"5b112167e6eddc373fbc7619a4ea0b18","responseTime":33,"status":200,"url":"/devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyM30.s5uYndOgFrRurTxVVCGz0-Iml2SZf_XEKgPNmPqmZIc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"694442ab9745ec6caf5b6439e9c177b5","responseTime":3,"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1af4a187-a5b0-49d2-b2a6-a1039741aa47","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1af4a187-a5b0-49d2-b2a6-a1039741aa47","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:23.119022276Z"}]},"request_id":"25690565-7a09-424c-9af6-13377756031d","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515323.6414695} 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":"8481bc0731d6889785c6406d0a531b25"},"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:44070","level":"info","msg":"Received request.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:23Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.656032,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515323,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyM30.s5uYndOgFrRurTxVVCGz0-Iml2SZf_XEKgPNmPqmZIc"} 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":"694442ab9745ec6caf5b6439e9c177b5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"09/Jul/2024:08:55:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47 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":"8481bc0731d6889785c6406d0a531b25"} device-1 | {"level":"info","message":"PATCH /devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47 200 51ms","method":"PATCH","requestID":"8481bc0731d6889785c6406d0a531b25","responseTime":51,"status":200,"url":"/devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyM30.s5uYndOgFrRurTxVVCGz0-Iml2SZf_XEKgPNmPqmZIc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"95c2137c7d4a3f6171acbed2f3784a7f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:23Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.968197,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515323,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyM30.s5uYndOgFrRurTxVVCGz0-Iml2SZf_XEKgPNmPqmZIc"} 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":"95c2137c7d4a3f6171acbed2f3784a7f"},"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":"09/Jul/2024:08:55:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4/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":"694442ab9745ec6caf5b6439e9c177b5"} device-1 | {"level":"info","message":"POST /devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4/websocket 200 21ms","method":"POST","requestID":"694442ab9745ec6caf5b6439e9c177b5","responseTime":21,"status":200,"url":"/devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47/websocket 200 19ms","method":"POST","requestID":"95c2137c7d4a3f6171acbed2f3784a7f","responseTime":19,"status":200,"url":"/devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47/websocket"} gateway-1 | {"time_local":"09/Jul/2024:08:55:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47/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":"95c2137c7d4a3f6171acbed2f3784a7f"} device-1 | {"level":"info","message":"device 'http://localhost/devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyM30.s5uYndOgFrRurTxVVCGz0-Iml2SZf_XEKgPNmPqmZIc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9f878d4d65c49d1ea38eb59f5ae98036","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:23Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.714482,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515323,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyM30.s5uYndOgFrRurTxVVCGz0-Iml2SZf_XEKgPNmPqmZIc"} 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":"9f878d4d65c49d1ea38eb59f5ae98036"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:23.071465920Z"}]},"request_id":"c0a2268a-cde7-432d-aa61-5035efcb41bd","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515323.7064123} 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":"9f878d4d65c49d1ea38eb59f5ae98036"},"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":"09/Jul/2024:08:55:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4? 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":"9f878d4d65c49d1ea38eb59f5ae98036"} device-1 | {"level":"info","message":"GET /devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4? 200 10ms","method":"GET","requestID":"9f878d4d65c49d1ea38eb59f5ae98036","responseTime":10,"status":200,"url":"/devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyM30.s5uYndOgFrRurTxVVCGz0-Iml2SZf_XEKgPNmPqmZIc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ea0c188b4d8417df1c59f5ec27b46b74","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:23Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.920451,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515323,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyM30.s5uYndOgFrRurTxVVCGz0-Iml2SZf_XEKgPNmPqmZIc"} 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":"ea0c188b4d8417df1c59f5ec27b46b74"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1af4a187-a5b0-49d2-b2a6-a1039741aa47","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1af4a187-a5b0-49d2-b2a6-a1039741aa47","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:23.119022276Z"}]},"request_id":"24cb6b26-0f7f-45e5-989d-c561f216a618","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515323.722222} 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":"ea0c188b4d8417df1c59f5ec27b46b74"},"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/1af4a187-a5b0-49d2-b2a6-a1039741aa47? 200 11ms","method":"GET","requestID":"ea0c188b4d8417df1c59f5ec27b46b74","responseTime":11,"status":200,"url":"/devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47?"} gateway-1 | {"time_local":"09/Jul/2024:08:55:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ea0c188b4d8417df1c59f5ec27b46b74"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyM30.s5uYndOgFrRurTxVVCGz0-Iml2SZf_XEKgPNmPqmZIc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e088a6c95a9ff2695dbb2d34ad5d3167","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:44070","level":"info","msg":"Received request.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:23Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.051519,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515323,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyM30.s5uYndOgFrRurTxVVCGz0-Iml2SZf_XEKgPNmPqmZIc"} 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":"e088a6c95a9ff2695dbb2d34ad5d3167"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8783fe69-d5c2-4d72-a3f9-4922eafa7924"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8783fe69-d5c2-4d72-a3f9-4922eafa7924"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8783fe69-d5c2-4d72-a3f9-4922eafa7924"},"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:44070","level":"info","msg":"Received request.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:23Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.911444,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:23Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Received request.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515323,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyM30.s5uYndOgFrRurTxVVCGz0-Iml2SZf_XEKgPNmPqmZIc"} 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":"fa8ab160-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Sent response.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.526244,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515323,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyM30.s5uYndOgFrRurTxVVCGz0-Iml2SZf_XEKgPNmPqmZIc"} 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":"fa8ad870-3dd0-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:23.071465920Z"}]},"request_id":"b4f01f7b-66f0-42c3-bd1c-e0a081fd020d","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515323.774175} 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":"fa8ab160-3dd0-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1af4a187-a5b0-49d2-b2a6-a1039741aa47","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1af4a187-a5b0-49d2-b2a6-a1039741aa47","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:23.119022276Z"}]},"request_id":"99ab02a2-7a43-4771-9345-56163d3e20e6","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515323.7747936} 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":"fa8ad870-3dd0-11ef-ab4a-87fddd4f273f"},"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/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4? 200 16ms","method":"GET","requestID":"fa8ab160-3dd0-11ef-ab4a-87fddd4f273f","responseTime":16,"status":200,"url":"/devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47? 200 15ms","method":"GET","requestID":"fa8ad870-3dd0-11ef-ab4a-87fddd4f273f","responseTime":15,"status":200,"url":"/devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8783fe69-d5c2-4d72-a3f9-4922eafa7924"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8783fe69-d5c2-4d72-a3f9-4922eafa7924"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8783fe69-d5c2-4d72-a3f9-4922eafa7924"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8783fe69-d5c2-4d72-a3f9-4922eafa7924"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8783fe69-d5c2-4d72-a3f9-4922eafa7924"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8783fe69-d5c2-4d72-a3f9-4922eafa7924"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8783fe69-d5c2-4d72-a3f9-4922eafa7924"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8783fe69-d5c2-4d72-a3f9-4922eafa7924"},"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:44070","level":"info","msg":"Received request.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:23Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8783fe69-d5c2-4d72-a3f9-4922eafa7924"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Received request.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:23Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":3.012594,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:23Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Sent response.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.37997,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515323,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyM30.s5uYndOgFrRurTxVVCGz0-Iml2SZf_XEKgPNmPqmZIc"} 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":"fa93b210-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515323,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyM30.s5uYndOgFrRurTxVVCGz0-Iml2SZf_XEKgPNmPqmZIc"} 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":"fa940030-3dd0-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:23.071465920Z"}]},"request_id":"d237e74e-ecf2-4041-aab9-db719a0511ea","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515323.841935} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1af4a187-a5b0-49d2-b2a6-a1039741aa47","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1af4a187-a5b0-49d2-b2a6-a1039741aa47","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:23.119022276Z"}]},"request_id":"a34cf6eb-ddb2-4693-8cd1-23d50061d0a8","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515323.8435478} 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":"fa93b210-3dd0-11ef-ab4a-87fddd4f273f"},"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 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":"fa940030-3dd0-11ef-ab4a-87fddd4f273f"},"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:46870","level":"info","msg":"Received request.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:23Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"58959741-b2ab-409c-84cb-a416bcb3ec89","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515323.8466752} authorization-1 | {"client_addr":"127.0.0.1:46870","level":"info","msg":"Sent response.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.755581,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fa944e50-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":16}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4? 200 27ms","method":"GET","requestID":"fa93b210-3dd0-11ef-ab4a-87fddd4f273f","responseTime":27,"status":200,"url":"/devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47? 200 26ms","method":"GET","requestID":"fa940030-3dd0-11ef-ab4a-87fddd4f273f","responseTime":26,"status":200,"url":"/devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4/signaling 200 26ms","method":"POST","requestID":"fa944e50-3dd0-11ef-ab4a-87fddd4f273f","responseTime":26,"status":200,"url":"/devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4/signaling"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8783fe69-d5c2-4d72-a3f9-4922eafa7924#owner@http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8783fe69-d5c2-4d72-a3f9-4922eafa7924","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"e98ad1c9-d318-4fc1-b009-6ac8fd89d775","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515323.8569329} 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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c8c22424-db0f-4159-ae7e-76b74ce9d2fd","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515323.8570914} 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":"e088a6c95a9ff2695dbb2d34ad5d3167"},"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:44070","level":"info","msg":"Received request.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:23Z"} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Received request.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:23Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e17638ac-3409-47ec-82fe-511ac728075f","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515323.8641593} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.498267,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"fa989410-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1af4a187-a5b0-49d2-b2a6-a1039741aa47","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8df6df46-abd2-4788-a019-eb47952aa266","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515323.866877} authorization-1 | {"client_addr":"127.0.0.1:44086","level":"info","msg":"Sent response.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.776157,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:23Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/8783fe69-d5c2-4d72-a3f9-4922eafa7924","user":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47","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":"09/Jul/2024:08:55:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"785","request_time":"0.143","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e088a6c95a9ff2695dbb2d34ad5d3167"} experiment-1 | {"level":"info","message":"POST /experiments? 201 138ms","method":"POST","requestID":"e088a6c95a9ff2695dbb2d34ad5d3167","responseTime":138,"status":201,"url":"/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":"fa990940-3dd0-11ef-ab4a-87fddd4f273f"},"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/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4/signaling 200 15ms","method":"POST","requestID":"fa989410-3dd0-11ef-ab4a-87fddd4f273f","responseTime":15,"status":200,"url":"/devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47/signaling 200 14ms","method":"POST","requestID":"fa990940-3dd0-11ef-ab4a-87fddd4f273f","responseTime":14,"status":200,"url":"/devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyM30.s5uYndOgFrRurTxVVCGz0-Iml2SZf_XEKgPNmPqmZIc","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:23Z"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"2202536d634cdd1d65c9b25a5af79b68","responseTime":8,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1af4a187-a5b0-49d2-b2a6-a1039741aa47","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bf172fea-e29f-4c65-8588-551f77d0fa8a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515323.8806574} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.43065,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"fa9b5330-3dd0-11ef-ab4a-87fddd4f273f"},"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/1af4a187-a5b0-49d2-b2a6-a1039741aa47/signaling 200 12ms","method":"POST","requestID":"fa9b5330-3dd0-11ef-ab4a-87fddd4f273f","responseTime":12,"status":200,"url":"/devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47/signaling"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:23Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.051983,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:23Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8783fe69-d5c2-4d72-a3f9-4922eafa7924"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8783fe69-d5c2-4d72-a3f9-4922eafa7924"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"20ada82a-0bee-4b2e-b263-46e621a3c4c5"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"6100d3b2-35dc-4d4a-9867-d9ad45948ec1"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"c13d5c94-2ede-433d-82bf-306111f73b30"}]},"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/1af4a187-a5b0-49d2-b2a6-a1039741aa47"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515323,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyM30.s5uYndOgFrRurTxVVCGz0-Iml2SZf_XEKgPNmPqmZIc"} 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":"2202536d634cdd1d65c9b25a5af79b68"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postPeerconnections 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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:23.071465920Z"}]},"request_id":"9ee61b4c-cb6c-4d75-89c7-a78e96fd6429","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515323.893481} 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":"2202536d634cdd1d65c9b25a5af79b68"},"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:44070","level":"info","msg":"Received request.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:23Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.928689,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515323,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyM30.s5uYndOgFrRurTxVVCGz0-Iml2SZf_XEKgPNmPqmZIc"} 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":"fa9deb40-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"09/Jul/2024:08:55:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4? 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":"2202536d634cdd1d65c9b25a5af79b68"} device-1 | {"level":"info","message":"GET /devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4? 200 14ms","method":"GET","requestID":"2202536d634cdd1d65c9b25a5af79b68","responseTime":14,"status":200,"url":"/devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyM30.s5uYndOgFrRurTxVVCGz0-Iml2SZf_XEKgPNmPqmZIc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fbef1be8b5ae84846aca2c14b7ada0bb","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","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%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"ba00a351-cccd-4543-af75-09b95eb9aba5","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515323.9060953} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eef4023f-6774-4b73-a472-f49723872a9f","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515323.9063408} 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":"fa9deb40-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:23Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.683091,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515323,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyM30.s5uYndOgFrRurTxVVCGz0-Iml2SZf_XEKgPNmPqmZIc"} 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":"fbef1be8b5ae84846aca2c14b7ada0bb"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1af4a187-a5b0-49d2-b2a6-a1039741aa47","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1af4a187-a5b0-49d2-b2a6-a1039741aa47","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:23.119022276Z"}]},"request_id":"d65c822b-496f-4910-bdc5-677c9bcb7f9c","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515323.9129322} 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":"fbef1be8b5ae84846aca2c14b7ada0bb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} 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/1c2b5277-be26-49b2-a8c5-87abced7a652'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/1c2b5277-be26-49b2-a8c5-87abced7a652'"} 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 31ms","method":"POST","requestID":"fa9deb40-3dd0-11ef-ab4a-87fddd4f273f","responseTime":31,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47? 200 20ms","method":"GET","requestID":"fbef1be8b5ae84846aca2c14b7ada0bb","responseTime":20,"status":200,"url":"/devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47?"} gateway-1 | {"time_local":"09/Jul/2024:08:55:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47? 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":"fbef1be8b5ae84846aca2c14b7ada0bb"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8783fe69-d5c2-4d72-a3f9-4922eafa7924"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:23Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fc9ed290-2a55-4bad-a4b7-f1f160725335","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515323.9540198} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.176849,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"faa69dd0-3dd0-11ef-ab4a-87fddd4f273f"},"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/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4/signaling 200 10ms","method":"POST","requestID":"faa69dd0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:23Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1af4a187-a5b0-49d2-b2a6-a1039741aa47","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b7e15e1a-f734-4713-8555-4f7a94f22ab1","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515323.9659047} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.000407,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"faa87290-3dd0-11ef-ab4a-87fddd4f273f"},"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/1af4a187-a5b0-49d2-b2a6-a1039741aa47/signaling 200 8ms","method":"POST","requestID":"faa87290-3dd0-11ef-ab4a-87fddd4f273f","responseTime":8,"status":200,"url":"/devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47/signaling"} device-1 | {"data":{"peerconnection":"1c2b5277-be26-49b2-a8c5-87abced7a652","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"1c2b5277-be26-49b2-a8c5-87abced7a652","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/1c2b5277-be26-49b2-a8c5-87abced7a652' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1c2b5277-be26-49b2-a8c5-87abced7a652","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":"bdd9e6bdf8ffbf5443e226e95340120d","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/1c2b5277-be26-49b2-a8c5-87abced7a652"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"bdd9e6bdf8ffbf5443e226e95340120d","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch","requestID":"bdd9e6bdf8ffbf5443e226e95340120d"} device-1 | {"data":{"peerconnection":"1c2b5277-be26-49b2-a8c5-87abced7a652","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"1c2b5277-be26-49b2-a8c5-87abced7a652","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/1c2b5277-be26-49b2-a8c5-87abced7a652' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1c2b5277-be26-49b2-a8c5-87abced7a652","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":"2884ac353f6a7a24f34295eb47877b81","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/1c2b5277-be26-49b2-a8c5-87abced7a652"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:26Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1c2b5277-be26-49b2-a8c5-87abced7a652","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0a511c77-11a4-47b2-8e62-3341c69b9a57","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515326.0537956} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.44164,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1c2b5277-be26-49b2-a8c5-87abced7a652","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/1c2b5277-be26-49b2-a8c5-87abced7a652","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":"fbe70d10-3dd0-11ef-ab4a-87fddd4f273f"},"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/1c2b5277-be26-49b2-a8c5-87abced7a652 200 8ms","method":"GET","requestID":"fbe70d10-3dd0-11ef-ab4a-87fddd4f273f","responseTime":8,"status":200,"url":"/peerconnections/1c2b5277-be26-49b2-a8c5-87abced7a652"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 42ms","method":"POST","requestID":"2884ac353f6a7a24f34295eb47877b81","responseTime":42,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55: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.047","http_referrer":"","http_user_agent":"node-fetch","requestID":"2884ac353f6a7a24f34295eb47877b81"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:26Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1af4a187-a5b0-49d2-b2a6-a1039741aa47","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e22d10e9-8c81-4160-935a-8ad7128739bd","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515326.0887027} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.300346,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"fbec6440-3dd0-11ef-ab4a-87fddd4f273f"},"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/1af4a187-a5b0-49d2-b2a6-a1039741aa47/signaling 200 8ms","method":"POST","requestID":"fbec6440-3dd0-11ef-ab4a-87fddd4f273f","responseTime":8,"status":200,"url":"/devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:26Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"580b8b7f-e61d-4d76-9421-13a67fe2d628","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515326.0988996} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.371008,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","object_type":"device","rebac_allow":false,"scope_allow":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":"fbedeae0-3dd0-11ef-ab4a-87fddd4f273f"},"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/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4/signaling 200 9ms","method":"POST","requestID":"fbedeae0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":9,"status":200,"url":"/devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyNn0.esudEir0v2zvNY5x4-RmTyYXMasmSExFTkeI2KzW2D4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f58b34a60d553ed995d0d2fe66f4ca29","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8783fe69-d5c2-4d72-a3f9-4922eafa7924"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:26Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.192523,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8783fe69-d5c2-4d72-a3f9-4922eafa7924","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/8783fe69-d5c2-4d72-a3f9-4922eafa7924","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515326,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyNn0.esudEir0v2zvNY5x4-RmTyYXMasmSExFTkeI2KzW2D4"} 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":"f58b34a60d553ed995d0d2fe66f4ca29"},"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/8783fe69-d5c2-4d72-a3f9-4922eafa7924"} experiment-1 | {"level":"info","message":"GET /experiments/8783fe69-d5c2-4d72-a3f9-4922eafa7924 200 17ms","method":"GET","requestID":"f58b34a60d553ed995d0d2fe66f4ca29","responseTime":18,"status":200,"url":"/experiments/8783fe69-d5c2-4d72-a3f9-4922eafa7924"} gateway-1 | {"time_local":"09/Jul/2024:08:55:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8783fe69-d5c2-4d72-a3f9-4922eafa7924 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":"f58b34a60d553ed995d0d2fe66f4ca29"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyNn0.esudEir0v2zvNY5x4-RmTyYXMasmSExFTkeI2KzW2D4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"aa6877ba047f7cbf167dad89524e709d","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/8783fe69-d5c2-4d72-a3f9-4922eafa7924"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:26Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.268508,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:26Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8783fe69-d5c2-4d72-a3f9-4922eafa7924","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/8783fe69-d5c2-4d72-a3f9-4922eafa7924","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515326,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyNn0.esudEir0v2zvNY5x4-RmTyYXMasmSExFTkeI2KzW2D4"} 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":"aa6877ba047f7cbf167dad89524e709d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8783fe69-d5c2-4d72-a3f9-4922eafa7924"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:26Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.463904,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:26Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1c2b5277-be26-49b2-a8c5-87abced7a652","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:http://localhost/peerconnections/1c2b5277-be26-49b2-a8c5-87abced7a652","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515326,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyNn0.esudEir0v2zvNY5x4-RmTyYXMasmSExFTkeI2KzW2D4"} 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":"fc0b0fd0-3dd0-11ef-ab4a-87fddd4f273f"},"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/1c2b5277-be26-49b2-a8c5-87abced7a652' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/1c2b5277-be26-49b2-a8c5-87abced7a652' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1c2b5277-be26-49b2-a8c5-87abced7a652","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":"f0edeb4dbb20f23ba848741b32b56a9b","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)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5fd37169d13462434fcb9292355d712e","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1c2b5277-be26-49b2-a8c5-87abced7a652"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1c2b5277-be26-49b2-a8c5-87abced7a652': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1c2b5277-be26-49b2-a8c5-87abced7a652","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"ec531a3e-ecd5-416a-82ab-b11525ede12b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515326.3100488} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c4167a8e-d9a5-4d8e-89df-de72ccfd5894","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515326.3103886} 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/1af4a187-a5b0-49d2-b2a6-a1039741aa47"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1c2b5277-be26-49b2-a8c5-87abced7a652"}}},"level":"info","message":"received a callback"} 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":"fc0b0fd0-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"data":{"peerconnection":"1c2b5277-be26-49b2-a8c5-87abced7a652","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/1c2b5277-be26-49b2-a8c5-87abced7a652 204 45ms","method":"DELETE","requestID":"fc0b0fd0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":45,"status":204,"url":"/peerconnections/1c2b5277-be26-49b2-a8c5-87abced7a652"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8783fe69-d5c2-4d72-a3f9-4922eafa7924"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:26Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1af4a187-a5b0-49d2-b2a6-a1039741aa47","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"02610f83-c7ff-44cc-ac06-b43397dbfaa5","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515326.364535} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.91671,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47","object_type":"device","rebac_allow":false,"scope_allow":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":"fc160c50-3dd0-11ef-ab4a-87fddd4f273f"},"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/1af4a187-a5b0-49d2-b2a6-a1039741aa47/signaling 200 15ms","method":"POST","requestID":"fc160c50-3dd0-11ef-ab4a-87fddd4f273f","responseTime":15,"status":200,"url":"/devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47/signaling"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8783fe69-d5c2-4d72-a3f9-4922eafa7924': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8783fe69-d5c2-4d72-a3f9-4922eafa7924","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"7b47483c-68ad-473f-a30a-5f43a5826c97","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515326.3719609} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"729de931-3d40-4bcb-bf05-0aff35415d29","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515326.3725305} 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":"aa6877ba047f7cbf167dad89524e709d"},"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:44070","level":"info","msg":"Received request.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:26Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3add20fc-4e1e-4418-b182-afaab55acdc4","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515326.383028} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.780694,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4","object_type":"device","rebac_allow":false,"scope_allow":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":"fc18f280-3dd0-11ef-ab4a-87fddd4f273f"},"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/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4/signaling 200 14ms","method":"POST","requestID":"fc18f280-3dd0-11ef-ab4a-87fddd4f273f","responseTime":14,"status":200,"url":"/devices/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/8783fe69-d5c2-4d72-a3f9-4922eafa7924"} gateway-1 | {"time_local":"09/Jul/2024:08:55:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/8783fe69-d5c2-4d72-a3f9-4922eafa7924 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":"aa6877ba047f7cbf167dad89524e709d"} gateway-1 | {"time_local":"09/Jul/2024:08:55:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2490","request_time":"2.778","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"bcfdeba7b7ff769a1d04b7be9670487a"} gateway-1 | {"time_local":"09/Jul/2024:08:55:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2490","request_time":"2.790","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"1eadf31c3b2736570bd0777e547b3a1f"} experiment-1 | {"level":"info","message":"DELETE /experiments/8783fe69-d5c2-4d72-a3f9-4922eafa7924 204 186ms","method":"DELETE","requestID":"aa6877ba047f7cbf167dad89524e709d","responseTime":186,"status":204,"url":"/experiments/8783fe69-d5c2-4d72-a3f9-4922eafa7924"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 147ms","method":"POST","requestID":"f0edeb4dbb20f23ba848741b32b56a9b","responseTime":147,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55: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.151","http_referrer":"","http_user_agent":"node-fetch","requestID":"f0edeb4dbb20f23ba848741b32b56a9b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 147ms","method":"POST","requestID":"5fd37169d13462434fcb9292355d712e","responseTime":147,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55: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.151","http_referrer":"","http_user_agent":"node-fetch","requestID":"5fd37169d13462434fcb9292355d712e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyNn0.esudEir0v2zvNY5x4-RmTyYXMasmSExFTkeI2KzW2D4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a92e8ad9d3fb6af5f1058fc52de2df82","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/9ddedcaa-4d4a-4f2d-bbd7-0fb7a8a835f4' closed"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:26Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":2.105547,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515326,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyNn0.esudEir0v2zvNY5x4-RmTyYXMasmSExFTkeI2KzW2D4"} 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":"a92e8ad9d3fb6af5f1058fc52de2df82"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/1af4a187-a5b0-49d2-b2a6-a1039741aa47' 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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde122555-67af-4ddf-917d-aa4c49f06fa5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2e318fe8-44f7-45f5-9abf-6ea1ab9ed537","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515326.4842749} 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":"a92e8ad9d3fb6af5f1058fc52de2df82"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3c1b3c55-cbb2-4b78-b9bb-6698d6b6d216","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515326.491337} 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":"a92e8ad9d3fb6af5f1058fc52de2df82"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde122555-67af-4ddf-917d-aa4c49f06fa5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"bdba84d6-a2fd-4366-be3d-dad5bd954f68","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515326.5020275} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"72088396-c03f-4451-9646-118f25bbf7b6","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515326.5023289} 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":"a92e8ad9d3fb6af5f1058fc52de2df82"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde122555-67af-4ddf-917d-aa4c49f06fa5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde122555-67af-4ddf-917d-aa4c49f06fa5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:26.501997273Z"}]},"request_id":"564e7125-1e60-42c4-83f5-9aeb77fb1fee","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515326.50782} 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":"a92e8ad9d3fb6af5f1058fc52de2df82"},"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":"09/Jul/2024:08:55:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a92e8ad9d3fb6af5f1058fc52de2df82"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"a92e8ad9d3fb6af5f1058fc52de2df82","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyNn0.esudEir0v2zvNY5x4-RmTyYXMasmSExFTkeI2KzW2D4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"eb02b3ceffa90511a3f2a5b7e92ff207","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:26Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.82674,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515326,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyNn0.esudEir0v2zvNY5x4-RmTyYXMasmSExFTkeI2KzW2D4"} 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":"eb02b3ceffa90511a3f2a5b7e92ff207"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cf1a216-e544-4a85-bed8-59728273b33e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a11716f3-12a7-4b73-886c-bd745d8f6ccc","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515326.5381331} 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":"eb02b3ceffa90511a3f2a5b7e92ff207"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cde524b6-c6df-4b1b-9a22-585109ca5bca","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515326.5440233} 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":"eb02b3ceffa90511a3f2a5b7e92ff207"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cf1a216-e544-4a85-bed8-59728273b33e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"74ebbcb4-1a73-47e9-ad98-7ecd7be30513","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515326.5549617} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"db5aed12-c221-4aae-852b-3d652276bfc3","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515326.5552225} 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":"eb02b3ceffa90511a3f2a5b7e92ff207"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cf1a216-e544-4a85-bed8-59728273b33e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cf1a216-e544-4a85-bed8-59728273b33e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:26.554926674Z"}]},"request_id":"2c478905-9466-4be1-a3cd-368d3defc9aa","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515326.5599022} 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":"eb02b3ceffa90511a3f2a5b7e92ff207"},"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":"09/Jul/2024:08:55:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eb02b3ceffa90511a3f2a5b7e92ff207"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"eb02b3ceffa90511a3f2a5b7e92ff207","responseTime":46,"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":"0126929b13d9700177feb38aac3f7af7","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"09/Jul/2024:08:55:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/de122555-67af-4ddf-917d-aa4c49f06fa5/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":"0126929b13d9700177feb38aac3f7af7"} device-1 | {"level":"info","message":"OPTIONS /devices/de122555-67af-4ddf-917d-aa4c49f06fa5/websocket 200 1ms","method":"OPTIONS","requestID":"0126929b13d9700177feb38aac3f7af7","responseTime":1,"status":200,"url":"/devices/de122555-67af-4ddf-917d-aa4c49f06fa5/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 2ms","method":"GET","requestID":"2249a4be102a7e382a4f0b032ac3b6dc","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"09/Jul/2024:08:55:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/6cf1a216-e544-4a85-bed8-59728273b33e/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":"2249a4be102a7e382a4f0b032ac3b6dc"} device-1 | {"level":"info","message":"OPTIONS /devices/6cf1a216-e544-4a85-bed8-59728273b33e/websocket 200 2ms","method":"OPTIONS","requestID":"2249a4be102a7e382a4f0b032ac3b6dc","responseTime":2,"status":200,"url":"/devices/6cf1a216-e544-4a85-bed8-59728273b33e/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyOH0.1yfyOV8hP8VvhkiD9prycsC2BPthMVk3aCgqZ7jzCrc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"2b16b86d306f0f0ae1fc3678aa5693cb","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyOH0.1yfyOV8hP8VvhkiD9prycsC2BPthMVk3aCgqZ7jzCrc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"bcf74c162246ef062d73a87edd1b8b4a","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:28Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.532688,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/de122555-67af-4ddf-917d-aa4c49f06fa5","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/de122555-67af-4ddf-917d-aa4c49f06fa5","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515328,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyOH0.1yfyOV8hP8VvhkiD9prycsC2BPthMVk3aCgqZ7jzCrc"} 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":"2b16b86d306f0f0ae1fc3678aa5693cb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:46878","level":"info","msg":"Received request.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:28Z"} authorization-1 | {"client_addr":"127.0.0.1:46878","level":"info","msg":"Sent response.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.060836,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6cf1a216-e544-4a85-bed8-59728273b33e","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/6cf1a216-e544-4a85-bed8-59728273b33e","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515328,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyOH0.1yfyOV8hP8VvhkiD9prycsC2BPthMVk3aCgqZ7jzCrc"} 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":"bcf74c162246ef062d73a87edd1b8b4a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/de122555-67af-4ddf-917d-aa4c49f06fa5/websocket 200 21ms","method":"POST","requestID":"2b16b86d306f0f0ae1fc3678aa5693cb","responseTime":21,"status":200,"url":"/devices/de122555-67af-4ddf-917d-aa4c49f06fa5/websocket"} gateway-1 | {"time_local":"09/Jul/2024:08:55:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/de122555-67af-4ddf-917d-aa4c49f06fa5/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.029","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2b16b86d306f0f0ae1fc3678aa5693cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"09/Jul/2024:08:55:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6cf1a216-e544-4a85-bed8-59728273b33e/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":"bcf74c162246ef062d73a87edd1b8b4a"} device-1 | {"level":"info","message":"POST /devices/6cf1a216-e544-4a85-bed8-59728273b33e/websocket 200 30ms","method":"POST","requestID":"bcf74c162246ef062d73a87edd1b8b4a","responseTime":30,"status":200,"url":"/devices/6cf1a216-e544-4a85-bed8-59728273b33e/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/de122555-67af-4ddf-917d-aa4c49f06fa5' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6cf1a216-e544-4a85-bed8-59728273b33e' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyOH0.1yfyOV8hP8VvhkiD9prycsC2BPthMVk3aCgqZ7jzCrc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9f9260d2b2fa3ed3c68fabaf5d589ade","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:28Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.845357,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/de122555-67af-4ddf-917d-aa4c49f06fa5","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/de122555-67af-4ddf-917d-aa4c49f06fa5","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515328,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyOH0.1yfyOV8hP8VvhkiD9prycsC2BPthMVk3aCgqZ7jzCrc"} 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":"9f9260d2b2fa3ed3c68fabaf5d589ade"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde122555-67af-4ddf-917d-aa4c49f06fa5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde122555-67af-4ddf-917d-aa4c49f06fa5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:26.501997273Z"}]},"request_id":"0498727c-c2de-4cc4-b2ef-8b598ac13f36","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515328.6389072} 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":"9f9260d2b2fa3ed3c68fabaf5d589ade"},"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/de122555-67af-4ddf-917d-aa4c49f06fa5? 200 14ms","method":"GET","requestID":"9f9260d2b2fa3ed3c68fabaf5d589ade","responseTime":14,"status":200,"url":"/devices/de122555-67af-4ddf-917d-aa4c49f06fa5?"} gateway-1 | {"time_local":"09/Jul/2024:08:55:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/de122555-67af-4ddf-917d-aa4c49f06fa5? 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":"9f9260d2b2fa3ed3c68fabaf5d589ade"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyOH0.1yfyOV8hP8VvhkiD9prycsC2BPthMVk3aCgqZ7jzCrc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"2c9dc899302d91eed374235153f8117b","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:28Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.223462,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6cf1a216-e544-4a85-bed8-59728273b33e","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/6cf1a216-e544-4a85-bed8-59728273b33e","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515328,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyOH0.1yfyOV8hP8VvhkiD9prycsC2BPthMVk3aCgqZ7jzCrc"} 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":"2c9dc899302d91eed374235153f8117b"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cf1a216-e544-4a85-bed8-59728273b33e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cf1a216-e544-4a85-bed8-59728273b33e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:26.554926674Z"}]},"request_id":"2cfe2d8b-83ea-4b42-b0b1-5a975e56f503","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515328.6627645} 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":"2c9dc899302d91eed374235153f8117b"},"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":"09/Jul/2024:08:55:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6cf1a216-e544-4a85-bed8-59728273b33e? 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":"2c9dc899302d91eed374235153f8117b"} device-1 | {"level":"info","message":"GET /devices/6cf1a216-e544-4a85-bed8-59728273b33e? 200 16ms","method":"GET","requestID":"2c9dc899302d91eed374235153f8117b","responseTime":16,"status":200,"url":"/devices/6cf1a216-e544-4a85-bed8-59728273b33e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyOH0.1yfyOV8hP8VvhkiD9prycsC2BPthMVk3aCgqZ7jzCrc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c8dbe67f17219cf640e24ce8c9c6d312","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:44070","level":"info","msg":"Received request.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:28Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.890083,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:28Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515328,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyOH0.1yfyOV8hP8VvhkiD9prycsC2BPthMVk3aCgqZ7jzCrc"} 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":"c8dbe67f17219cf640e24ce8c9c6d312"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7bc5dc1f-4297-42b4-877a-d425d281f656"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7bc5dc1f-4297-42b4-877a-d425d281f656"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7bc5dc1f-4297-42b4-877a-d425d281f656"},"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:44070","level":"info","msg":"Received request.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:28Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.595205,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/de122555-67af-4ddf-917d-aa4c49f06fa5","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/de122555-67af-4ddf-917d-aa4c49f06fa5","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515328,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyOH0.1yfyOV8hP8VvhkiD9prycsC2BPthMVk3aCgqZ7jzCrc"} 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":"fd7e75f0-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:46878","level":"info","msg":"Received request.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:28Z"} authorization-1 | {"client_addr":"127.0.0.1:46878","level":"info","msg":"Sent response.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.595482,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6cf1a216-e544-4a85-bed8-59728273b33e","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/6cf1a216-e544-4a85-bed8-59728273b33e","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515328,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyOH0.1yfyOV8hP8VvhkiD9prycsC2BPthMVk3aCgqZ7jzCrc"} 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":"fd7e9d00-3dd0-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde122555-67af-4ddf-917d-aa4c49f06fa5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde122555-67af-4ddf-917d-aa4c49f06fa5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:26.501997273Z"}]},"request_id":"c5251c41-6797-4c6d-b284-727ba0e2dbcb","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515328.727129} 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":"fd7e75f0-3dd0-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cf1a216-e544-4a85-bed8-59728273b33e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cf1a216-e544-4a85-bed8-59728273b33e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:26.554926674Z"}]},"request_id":"62a90391-28d4-4227-a3c1-60059cedc4ec","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515328.7279189} 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":"fd7e9d00-3dd0-11ef-ab4a-87fddd4f273f"},"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/de122555-67af-4ddf-917d-aa4c49f06fa5? 200 13ms","method":"GET","requestID":"fd7e75f0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":13,"status":200,"url":"/devices/de122555-67af-4ddf-917d-aa4c49f06fa5?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/6cf1a216-e544-4a85-bed8-59728273b33e? 200 12ms","method":"GET","requestID":"fd7e9d00-3dd0-11ef-ab4a-87fddd4f273f","responseTime":12,"status":200,"url":"/devices/6cf1a216-e544-4a85-bed8-59728273b33e?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7bc5dc1f-4297-42b4-877a-d425d281f656"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7bc5dc1f-4297-42b4-877a-d425d281f656"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7bc5dc1f-4297-42b4-877a-d425d281f656"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7bc5dc1f-4297-42b4-877a-d425d281f656"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7bc5dc1f-4297-42b4-877a-d425d281f656"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7bc5dc1f-4297-42b4-877a-d425d281f656"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7bc5dc1f-4297-42b4-877a-d425d281f656"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7bc5dc1f-4297-42b4-877a-d425d281f656"},"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/7bc5dc1f-4297-42b4-877a-d425d281f656"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:28Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.904765,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:28Z"} authorization-1 | {"client_addr":"127.0.0.1:46878","level":"info","msg":"Received request.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/de122555-67af-4ddf-917d-aa4c49f06fa5","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/de122555-67af-4ddf-917d-aa4c49f06fa5","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515328,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyOH0.1yfyOV8hP8VvhkiD9prycsC2BPthMVk3aCgqZ7jzCrc"} 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":"fd861710-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:46878","level":"info","msg":"Sent response.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.582488,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6cf1a216-e544-4a85-bed8-59728273b33e","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/6cf1a216-e544-4a85-bed8-59728273b33e","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515328,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyOH0.1yfyOV8hP8VvhkiD9prycsC2BPthMVk3aCgqZ7jzCrc"} 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":"fd866530-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:46888","level":"info","msg":"Received request.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55: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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cf1a216-e544-4a85-bed8-59728273b33e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cf1a216-e544-4a85-bed8-59728273b33e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:26.554926674Z"}]},"request_id":"64d31939-e7b4-4380-80b7-ea9811e11da7","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515328.7806468} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde122555-67af-4ddf-917d-aa4c49f06fa5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1996c058-a08b-4802-9b24-d4e9167c1b48","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515328.7807648} 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":"fd866530-3dd0-11ef-ab4a-87fddd4f273f"},"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:46888","level":"info","msg":"Sent response.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.267487,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55: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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde122555-67af-4ddf-917d-aa4c49f06fa5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde122555-67af-4ddf-917d-aa4c49f06fa5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:26.501997273Z"}]},"request_id":"213b502f-27ff-4d1c-9952-0e765ebf5302","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515328.7815273} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/de122555-67af-4ddf-917d-aa4c49f06fa5","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/de122555-67af-4ddf-917d-aa4c49f06fa5","object_type":"device","rebac_allow":false,"scope_allow":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":"fd868c40-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} 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":"fd861710-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"GET /devices/6cf1a216-e544-4a85-bed8-59728273b33e? 200 15ms","method":"GET","requestID":"fd866530-3dd0-11ef-ab4a-87fddd4f273f","responseTime":15,"status":200,"url":"/devices/6cf1a216-e544-4a85-bed8-59728273b33e?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/de122555-67af-4ddf-917d-aa4c49f06fa5/signaling 200 17ms","method":"POST","requestID":"fd868c40-3dd0-11ef-ab4a-87fddd4f273f","responseTime":17,"status":200,"url":"/devices/de122555-67af-4ddf-917d-aa4c49f06fa5/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/de122555-67af-4ddf-917d-aa4c49f06fa5? 200 21ms","method":"GET","requestID":"fd861710-3dd0-11ef-ab4a-87fddd4f273f","responseTime":21,"status":200,"url":"/devices/de122555-67af-4ddf-917d-aa4c49f06fa5?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7bc5dc1f-4297-42b4-877a-d425d281f656#owner@http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7bc5dc1f-4297-42b4-877a-d425d281f656","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"a27d3d79-ab53-4305-bb0f-00ed0408b677","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515328.793238} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c357c1fb-0f31-4a42-9314-379efe12494f","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515328.7934864} 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":"c8dbe67f17219cf640e24ce8c9c6d312"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cf1a216-e544-4a85-bed8-59728273b33e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6166f373-901e-4dc6-94aa-efdea3831063","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515328.7960074} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:28Z"} authorization-1 | {"client_addr":"127.0.0.1:46878","level":"info","msg":"Received request.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:28Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.101475,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6cf1a216-e544-4a85-bed8-59728273b33e","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6cf1a216-e544-4a85-bed8-59728273b33e","object_type":"device","rebac_allow":false,"scope_allow":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":"fd897270-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde122555-67af-4ddf-917d-aa4c49f06fa5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3ab3a24a-c5c8-414e-a5fc-8c4008370dec","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515328.7979484} authorization-1 | {"client_addr":"127.0.0.1:46878","level":"info","msg":"Sent response.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.091384,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/de122555-67af-4ddf-917d-aa4c49f06fa5","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/de122555-67af-4ddf-917d-aa4c49f06fa5","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"fd899980-3dd0-11ef-ab4a-87fddd4f273f"},"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/6cf1a216-e544-4a85-bed8-59728273b33e/signaling 200 11ms","method":"POST","requestID":"fd897270-3dd0-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/devices/6cf1a216-e544-4a85-bed8-59728273b33e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/de122555-67af-4ddf-917d-aa4c49f06fa5/signaling 200 12ms","method":"POST","requestID":"fd899980-3dd0-11ef-ab4a-87fddd4f273f","responseTime":12,"status":200,"url":"/devices/de122555-67af-4ddf-917d-aa4c49f06fa5/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/7bc5dc1f-4297-42b4-877a-d425d281f656","user":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"09/Jul/2024:08:55:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.137","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c8dbe67f17219cf640e24ce8c9c6d312"} experiment-1 | {"level":"info","message":"POST /experiments? 201 132ms","method":"POST","requestID":"c8dbe67f17219cf640e24ce8c9c6d312","responseTime":132,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyOH0.1yfyOV8hP8VvhkiD9prycsC2BPthMVk3aCgqZ7jzCrc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6a55cec8499b759bf42e1053625cc3bc","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:28Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cf1a216-e544-4a85-bed8-59728273b33e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d146a3cc-1752-4bbe-aac5-76997a70058e","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515328.813096} authorization-1 | {"client_addr":"127.0.0.1:46878","level":"info","msg":"Received request.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:28Z"} authorization-1 | {"client_addr":"127.0.0.1:46878","level":"info","msg":"Sent response.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.842813,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/de122555-67af-4ddf-917d-aa4c49f06fa5","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/de122555-67af-4ddf-917d-aa4c49f06fa5","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515328,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyOH0.1yfyOV8hP8VvhkiD9prycsC2BPthMVk3aCgqZ7jzCrc"} 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":"6a55cec8499b759bf42e1053625cc3bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.955177,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6cf1a216-e544-4a85-bed8-59728273b33e","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6cf1a216-e544-4a85-bed8-59728273b33e","object_type":"device","rebac_allow":false,"scope_allow":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":"fd8c0a80-3dd0-11ef-ab4a-87fddd4f273f"},"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/6cf1a216-e544-4a85-bed8-59728273b33e/signaling 200 11ms","method":"POST","requestID":"fd8c0a80-3dd0-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/devices/6cf1a216-e544-4a85-bed8-59728273b33e/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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde122555-67af-4ddf-917d-aa4c49f06fa5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde122555-67af-4ddf-917d-aa4c49f06fa5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:26.501997273Z"}]},"request_id":"cc12e2c0-29d6-4486-8001-53e2753832e1","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515328.8196886} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7bc5dc1f-4297-42b4-877a-d425d281f656"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7bc5dc1f-4297-42b4-877a-d425d281f656"},"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":"19898f57-dd5b-4e0c-88eb-20052529bded"},{"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":"add84a42-a50c-4e13-a7a7-903a411f347a"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"e02503a4-2951-4cfe-8cfd-8ed64ffca41b"}]},"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/6cf1a216-e544-4a85-bed8-59728273b33e"},{"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/de122555-67af-4ddf-917d-aa4c49f06fa5"}],"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":"6a55cec8499b759bf42e1053625cc3bc"},"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"} gateway-1 | {"time_local":"09/Jul/2024:08:55:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/de122555-67af-4ddf-917d-aa4c49f06fa5? 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":"6a55cec8499b759bf42e1053625cc3bc"} device-1 | {"level":"info","message":"GET /devices/de122555-67af-4ddf-917d-aa4c49f06fa5? 200 15ms","method":"GET","requestID":"6a55cec8499b759bf42e1053625cc3bc","responseTime":15,"status":200,"url":"/devices/de122555-67af-4ddf-917d-aa4c49f06fa5?"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:28Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.851767,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:28Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515328,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyOH0.1yfyOV8hP8VvhkiD9prycsC2BPthMVk3aCgqZ7jzCrc"} 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":"fd8e2d60-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyOH0.1yfyOV8hP8VvhkiD9prycsC2BPthMVk3aCgqZ7jzCrc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b601e1430d9f550c181d86a79d39ec1d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","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%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"50017750-4d10-45d2-8000-6216a180aad9","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515328.834136} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d9d576ff-7db4-493d-918a-075c9a9f2a56","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515328.834486} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:28Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.753352,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:28Z"} 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":"fd8e2d60-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6cf1a216-e544-4a85-bed8-59728273b33e","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/6cf1a216-e544-4a85-bed8-59728273b33e","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515328,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyOH0.1yfyOV8hP8VvhkiD9prycsC2BPthMVk3aCgqZ7jzCrc"} 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":"b601e1430d9f550c181d86a79d39ec1d"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cf1a216-e544-4a85-bed8-59728273b33e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cf1a216-e544-4a85-bed8-59728273b33e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:26.554926674Z"}]},"request_id":"fd8655c1-f3a5-4f84-8607-1f285fb21209","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515328.8410494} 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":"b601e1430d9f550c181d86a79d39ec1d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} 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/9757aa1d-ec8f-4959-ac33-fc2de4b36903'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/9757aa1d-ec8f-4959-ac33-fc2de4b36903'"} 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 30ms","method":"POST","requestID":"fd8e2d60-3dd0-11ef-ab4a-87fddd4f273f","responseTime":30,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"09/Jul/2024:08:55:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6cf1a216-e544-4a85-bed8-59728273b33e? 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":"b601e1430d9f550c181d86a79d39ec1d"} device-1 | {"level":"info","message":"GET /devices/6cf1a216-e544-4a85-bed8-59728273b33e? 200 22ms","method":"GET","requestID":"b601e1430d9f550c181d86a79d39ec1d","responseTime":22,"status":200,"url":"/devices/6cf1a216-e544-4a85-bed8-59728273b33e?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7bc5dc1f-4297-42b4-877a-d425d281f656"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:28Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde122555-67af-4ddf-917d-aa4c49f06fa5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b2d17939-68ed-4865-888d-08f5be1ef6fa","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515328.8851256} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.032541,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/de122555-67af-4ddf-917d-aa4c49f06fa5","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/de122555-67af-4ddf-917d-aa4c49f06fa5","object_type":"device","rebac_allow":false,"scope_allow":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":"fd972e10-3dd0-11ef-ab4a-87fddd4f273f"},"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/de122555-67af-4ddf-917d-aa4c49f06fa5/signaling 200 7ms","method":"POST","requestID":"fd972e10-3dd0-11ef-ab4a-87fddd4f273f","responseTime":7,"status":200,"url":"/devices/de122555-67af-4ddf-917d-aa4c49f06fa5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:28Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cf1a216-e544-4a85-bed8-59728273b33e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"19984e4e-0c18-4d95-a097-d55a792aa832","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515328.894937} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.715085,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6cf1a216-e544-4a85-bed8-59728273b33e","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6cf1a216-e544-4a85-bed8-59728273b33e","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"fd988da0-3dd0-11ef-ab4a-87fddd4f273f"},"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/6cf1a216-e544-4a85-bed8-59728273b33e/signaling 200 10ms","method":"POST","requestID":"fd988da0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/devices/6cf1a216-e544-4a85-bed8-59728273b33e/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/6cf1a216-e544-4a85-bed8-59728273b33e'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/6cf1a216-e544-4a85-bed8-59728273b33e'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/de122555-67af-4ddf-917d-aa4c49f06fa5'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/9757aa1d-ec8f-4959-ac33-fc2de4b36903' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9757aa1d-ec8f-4959-ac33-fc2de4b36903","statusDeviceA":"new","statusDeviceB":"connecting"},"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":"73ee11342b88fa34f4545719947b039c","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":"new","url":"http://localhost/devices/6cf1a216-e544-4a85-bed8-59728273b33e"},{"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/de122555-67af-4ddf-917d-aa4c49f06fa5"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/9757aa1d-ec8f-4959-ac33-fc2de4b36903"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"73ee11342b88fa34f4545719947b039c","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55: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.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"73ee11342b88fa34f4545719947b039c"} device-1 | {"data":{"peerconnection":"9757aa1d-ec8f-4959-ac33-fc2de4b36903","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"9757aa1d-ec8f-4959-ac33-fc2de4b36903","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/9757aa1d-ec8f-4959-ac33-fc2de4b36903' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9757aa1d-ec8f-4959-ac33-fc2de4b36903","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":"ec42e8ef3ebd3e2920ec2538c63abd9d","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/6cf1a216-e544-4a85-bed8-59728273b33e"},{"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/de122555-67af-4ddf-917d-aa4c49f06fa5"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/9757aa1d-ec8f-4959-ac33-fc2de4b36903"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:28Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9757aa1d-ec8f-4959-ac33-fc2de4b36903","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"69109ae1-d9d1-44ca-9e92-79298037f7ac","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515328.9748654} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.066458,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9757aa1d-ec8f-4959-ac33-fc2de4b36903","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/9757aa1d-ec8f-4959-ac33-fc2de4b36903","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":"fda4c2a0-3dd0-11ef-ab4a-87fddd4f273f"},"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/9757aa1d-ec8f-4959-ac33-fc2de4b36903 200 8ms","method":"GET","requestID":"fda4c2a0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":8,"status":200,"url":"/peerconnections/9757aa1d-ec8f-4959-ac33-fc2de4b36903"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 26ms","method":"POST","requestID":"ec42e8ef3ebd3e2920ec2538c63abd9d","responseTime":26,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55: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.028","http_referrer":"","http_user_agent":"node-fetch","requestID":"ec42e8ef3ebd3e2920ec2538c63abd9d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:28Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cf1a216-e544-4a85-bed8-59728273b33e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8eed9a54-2a76-4e14-bbcd-8abef316f172","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515328.996706} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.109099,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6cf1a216-e544-4a85-bed8-59728273b33e","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6cf1a216-e544-4a85-bed8-59728273b33e","object_type":"device","rebac_allow":false,"scope_allow":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":"fda81e00-3dd0-11ef-ab4a-87fddd4f273f"},"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/6cf1a216-e544-4a85-bed8-59728273b33e/signaling 200 8ms","method":"POST","requestID":"fda81e00-3dd0-11ef-ab4a-87fddd4f273f","responseTime":8,"status":200,"url":"/devices/6cf1a216-e544-4a85-bed8-59728273b33e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:29Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde122555-67af-4ddf-917d-aa4c49f06fa5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4d12b536-e3ff-40e7-8d55-13b0f65551bc","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515329.007061} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.602093,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/de122555-67af-4ddf-917d-aa4c49f06fa5","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/de122555-67af-4ddf-917d-aa4c49f06fa5","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"fda9a4a0-3dd0-11ef-ab4a-87fddd4f273f"},"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/de122555-67af-4ddf-917d-aa4c49f06fa5/signaling 200 10ms","method":"POST","requestID":"fda9a4a0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/devices/de122555-67af-4ddf-917d-aa4c49f06fa5/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyOX0.k-rii0hAPfi1VPNoaeI0l4-NaDPJtz-kxmwXhk2imE8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9de0c94b4c45bb72948e3a4e81bd4577","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/7bc5dc1f-4297-42b4-877a-d425d281f656"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:29Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.058024,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7bc5dc1f-4297-42b4-877a-d425d281f656","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/7bc5dc1f-4297-42b4-877a-d425d281f656","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515329,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyOX0.k-rii0hAPfi1VPNoaeI0l4-NaDPJtz-kxmwXhk2imE8"} 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":"9de0c94b4c45bb72948e3a4e81bd4577"},"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/7bc5dc1f-4297-42b4-877a-d425d281f656"} gateway-1 | {"time_local":"09/Jul/2024:08:55:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/7bc5dc1f-4297-42b4-877a-d425d281f656 HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9de0c94b4c45bb72948e3a4e81bd4577"} experiment-1 | {"level":"info","message":"GET /experiments/7bc5dc1f-4297-42b4-877a-d425d281f656 200 13ms","method":"GET","requestID":"9de0c94b4c45bb72948e3a4e81bd4577","responseTime":13,"status":200,"url":"/experiments/7bc5dc1f-4297-42b4-877a-d425d281f656"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyOX0.k-rii0hAPfi1VPNoaeI0l4-NaDPJtz-kxmwXhk2imE8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d5fa1b222256a962e86ef61b7e5a3d6d","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/7bc5dc1f-4297-42b4-877a-d425d281f656"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:29Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.926078,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:29Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7bc5dc1f-4297-42b4-877a-d425d281f656","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/7bc5dc1f-4297-42b4-877a-d425d281f656","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515329,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyOX0.k-rii0hAPfi1VPNoaeI0l4-NaDPJtz-kxmwXhk2imE8"} 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":"d5fa1b222256a962e86ef61b7e5a3d6d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7bc5dc1f-4297-42b4-877a-d425d281f656"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:29Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.525936,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:29Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9757aa1d-ec8f-4959-ac33-fc2de4b36903","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:http://localhost/peerconnections/9757aa1d-ec8f-4959-ac33-fc2de4b36903","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515329,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyOX0.k-rii0hAPfi1VPNoaeI0l4-NaDPJtz-kxmwXhk2imE8"} 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":"fdb51650-3dd0-11ef-ab4a-87fddd4f273f"},"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/9757aa1d-ec8f-4959-ac33-fc2de4b36903' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/9757aa1d-ec8f-4959-ac33-fc2de4b36903' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9757aa1d-ec8f-4959-ac33-fc2de4b36903","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9757aa1d-ec8f-4959-ac33-fc2de4b36903': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9757aa1d-ec8f-4959-ac33-fc2de4b36903","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"38744214-d5b1-4901-996a-88a846d73420","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515329.0980625} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c39e1db7-68e1-4b58-bc51-f9c2cb68e90a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515329.0984244} 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":"470cbe1d7fe2e065919a0b7bef0b3448","responseTime":2,"status":200,"url":"/auth"} 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":"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":"fdb51650-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} 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/6cf1a216-e544-4a85-bed8-59728273b33e"},{"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/de122555-67af-4ddf-917d-aa4c49f06fa5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9757aa1d-ec8f-4959-ac33-fc2de4b36903"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a92d1007232cfbdd8671b12cc46e0759","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/6cf1a216-e544-4a85-bed8-59728273b33e"},{"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/de122555-67af-4ddf-917d-aa4c49f06fa5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9757aa1d-ec8f-4959-ac33-fc2de4b36903"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/9757aa1d-ec8f-4959-ac33-fc2de4b36903 204 42ms","method":"DELETE","requestID":"fdb51650-3dd0-11ef-ab4a-87fddd4f273f","responseTime":42,"status":204,"url":"/peerconnections/9757aa1d-ec8f-4959-ac33-fc2de4b36903"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/6cf1a216-e544-4a85-bed8-59728273b33e'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7bc5dc1f-4297-42b4-877a-d425d281f656"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:29Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cf1a216-e544-4a85-bed8-59728273b33e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"974d02c4-fc8b-48a5-a955-c42b386d6835","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515329.142594} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.907083,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6cf1a216-e544-4a85-bed8-59728273b33e","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6cf1a216-e544-4a85-bed8-59728273b33e","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"fdbe1700-3dd0-11ef-ab4a-87fddd4f273f"},"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/6cf1a216-e544-4a85-bed8-59728273b33e/signaling 200 10ms","method":"POST","requestID":"fdbe1700-3dd0-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/devices/6cf1a216-e544-4a85-bed8-59728273b33e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7bc5dc1f-4297-42b4-877a-d425d281f656': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7bc5dc1f-4297-42b4-877a-d425d281f656","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"ee43a3d2-993b-49aa-b861-e93ffc4aa7b6","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515329.1503735} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cc879e38-cb91-4001-8596-f2d7dd18134e","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515329.1507418} 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":"d5fa1b222256a962e86ef61b7e5a3d6d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde122555-67af-4ddf-917d-aa4c49f06fa5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1023f6f8-724f-4228-b2c5-c9777109bf08","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515329.153902} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:29Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.936755,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/de122555-67af-4ddf-917d-aa4c49f06fa5","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/de122555-67af-4ddf-917d-aa4c49f06fa5","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"fdbfebc0-3dd0-11ef-ab4a-87fddd4f273f"},"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/de122555-67af-4ddf-917d-aa4c49f06fa5/signaling 200 11ms","method":"POST","requestID":"fdbfebc0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/devices/de122555-67af-4ddf-917d-aa4c49f06fa5/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/7bc5dc1f-4297-42b4-877a-d425d281f656"} gateway-1 | {"time_local":"09/Jul/2024:08:55:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/7bc5dc1f-4297-42b4-877a-d425d281f656 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.150","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d5fa1b222256a962e86ef61b7e5a3d6d"} experiment-1 | {"level":"info","message":"DELETE /experiments/7bc5dc1f-4297-42b4-877a-d425d281f656 204 147ms","method":"DELETE","requestID":"d5fa1b222256a962e86ef61b7e5a3d6d","responseTime":147,"status":204,"url":"/experiments/7bc5dc1f-4297-42b4-877a-d425d281f656"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 115ms","method":"POST","requestID":"470cbe1d7fe2e065919a0b7bef0b3448","responseTime":115,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55: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.118","http_referrer":"","http_user_agent":"node-fetch","requestID":"470cbe1d7fe2e065919a0b7bef0b3448"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyOX0.k-rii0hAPfi1VPNoaeI0l4-NaDPJtz-kxmwXhk2imE8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b9d976fbc5e575bb4cf7137317423d95","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 115ms","method":"POST","requestID":"a92d1007232cfbdd8671b12cc46e0759","responseTime":115,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"09/Jul/2024:08:55: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.121","http_referrer":"","http_user_agent":"node-fetch","requestID":"a92d1007232cfbdd8671b12cc46e0759"} gateway-1 | {"time_local":"09/Jul/2024:08:55:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2886","request_time":"0.609","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0957b535055ae626e4bfe31991b4d82d"} gateway-1 | {"time_local":"09/Jul/2024:08:55:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2888","request_time":"0.620","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"91a677113bebba6139b00530a2e64733"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:29Z"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/6cf1a216-e544-4a85-bed8-59728273b33e' closed"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.197489,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515329,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyOX0.k-rii0hAPfi1VPNoaeI0l4-NaDPJtz-kxmwXhk2imE8"} 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":"b9d976fbc5e575bb4cf7137317423d95"},"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/de122555-67af-4ddf-917d-aa4c49f06fa5' 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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38aada4f-afba-4fad-ace5-fa1e7ba94db3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"97035698-f967-4b3b-b98a-e8430a5fb4b1","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515329.2485902} 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":"b9d976fbc5e575bb4cf7137317423d95"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"469840a1-be81-44cc-8bf4-ddd97599171c","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515329.2528498} 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":"b9d976fbc5e575bb4cf7137317423d95"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38aada4f-afba-4fad-ace5-fa1e7ba94db3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"3a554db4-f154-4285-9dd9-f23663349591","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515329.2641392} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"391165c7-015e-48e4-adce-9a5d7d17917b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515329.2643235} 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":"b9d976fbc5e575bb4cf7137317423d95"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38aada4f-afba-4fad-ace5-fa1e7ba94db3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38aada4f-afba-4fad-ace5-fa1e7ba94db3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:29.264122116Z"}]},"request_id":"4b7c994f-2872-43aa-8fb4-0111b10986ab","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515329.2682405} 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":"b9d976fbc5e575bb4cf7137317423d95"},"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 52ms","method":"POST","requestID":"b9d976fbc5e575bb4cf7137317423d95","responseTime":52,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"09/Jul/2024:08:55: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.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b9d976fbc5e575bb4cf7137317423d95"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyOX0.k-rii0hAPfi1VPNoaeI0l4-NaDPJtz-kxmwXhk2imE8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2f4c1afa9184edd636ed91b626252722","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:29Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.660821,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515329,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMyOX0.k-rii0hAPfi1VPNoaeI0l4-NaDPJtz-kxmwXhk2imE8"} 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":"2f4c1afa9184edd636ed91b626252722"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ff304fd-81ca-481f-90b2-3561f3bd2ef9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d9942a93-2014-4f6e-8ddb-bb9a01e247ad","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515329.2944145} 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":"2f4c1afa9184edd636ed91b626252722"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dbc64dd6-1367-42fb-9418-afe58ca158b8","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515329.2989028} 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":"2f4c1afa9184edd636ed91b626252722"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ff304fd-81ca-481f-90b2-3561f3bd2ef9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"d76f71d0-58a1-48f7-a53c-b8c39d363b4a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515329.3136122} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b9c30b7f-f0ba-4310-b7b1-9f3ddda0c506","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515329.313853} 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":"2f4c1afa9184edd636ed91b626252722"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ff304fd-81ca-481f-90b2-3561f3bd2ef9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ff304fd-81ca-481f-90b2-3561f3bd2ef9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:29.313593230Z"}]},"request_id":"e72bc03a-b3b0-4775-9eac-fd461fad29ef","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515329.3179164} 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":"2f4c1afa9184edd636ed91b626252722"},"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":"09/Jul/2024:08:55: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.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2f4c1afa9184edd636ed91b626252722"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"2f4c1afa9184edd636ed91b626252722","responseTime":45,"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":"658ef28f7e540a3235d72311d8cc6a9e","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"09/Jul/2024:08:55:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3/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":"658ef28f7e540a3235d72311d8cc6a9e"} device-1 | {"level":"info","message":"OPTIONS /devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3/websocket 200 1ms","method":"OPTIONS","requestID":"658ef28f7e540a3235d72311d8cc6a9e","responseTime":1,"status":200,"url":"/devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzMX0.r37jlKk0cWqnSRdDG3cRunozORv7saNy-Sbj3y7yd3U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ab4b4d153e83566a0c2aa41b19c12a9d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.768329,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515331,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzMX0.r37jlKk0cWqnSRdDG3cRunozORv7saNy-Sbj3y7yd3U"} 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":"ab4b4d153e83566a0c2aa41b19c12a9d"},"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/38aada4f-afba-4fad-ace5-fa1e7ba94db3/websocket 200 21ms","method":"POST","requestID":"ab4b4d153e83566a0c2aa41b19c12a9d","responseTime":21,"status":200,"url":"/devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3/websocket"} gateway-1 | {"time_local":"09/Jul/2024:08:55:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3/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":"ab4b4d153e83566a0c2aa41b19c12a9d"} 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":"9578ef391e3105aa0f2d5d17c071b8b3","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"09/Jul/2024:08:55:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9/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":"9578ef391e3105aa0f2d5d17c071b8b3"} device-1 | {"level":"info","message":"OPTIONS /devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9/websocket 200 1ms","method":"OPTIONS","requestID":"9578ef391e3105aa0f2d5d17c071b8b3","responseTime":1,"status":200,"url":"/devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzMX0.r37jlKk0cWqnSRdDG3cRunozORv7saNy-Sbj3y7yd3U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ffd17a0a224efeb99becc9dfd183340c","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.251184,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515331,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzMX0.r37jlKk0cWqnSRdDG3cRunozORv7saNy-Sbj3y7yd3U"} 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":"ffd17a0a224efeb99becc9dfd183340c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"device 'http://localhost/devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9/websocket 200 22ms","method":"POST","requestID":"ffd17a0a224efeb99becc9dfd183340c","responseTime":22,"status":200,"url":"/devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9/websocket"} gateway-1 | {"time_local":"09/Jul/2024:08:55:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.029","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ffd17a0a224efeb99becc9dfd183340c"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzMX0.r37jlKk0cWqnSRdDG3cRunozORv7saNy-Sbj3y7yd3U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4aef40827096073923529edca6c64f1f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.055525,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515331,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzMX0.r37jlKk0cWqnSRdDG3cRunozORv7saNy-Sbj3y7yd3U"} 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":"4aef40827096073923529edca6c64f1f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38aada4f-afba-4fad-ace5-fa1e7ba94db3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38aada4f-afba-4fad-ace5-fa1e7ba94db3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:29.264122116Z"}]},"request_id":"f581602b-e936-4ed0-820b-19d889e0f43a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515331.3987272} 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":"4aef40827096073923529edca6c64f1f"},"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":"09/Jul/2024:08:55:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3? 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":"4aef40827096073923529edca6c64f1f"} device-1 | {"level":"info","message":"GET /devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3? 200 14ms","method":"GET","requestID":"4aef40827096073923529edca6c64f1f","responseTime":14,"status":200,"url":"/devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzMX0.r37jlKk0cWqnSRdDG3cRunozORv7saNy-Sbj3y7yd3U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"de8ca01677ccad946384082b4a728fde","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.098223,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515331,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzMX0.r37jlKk0cWqnSRdDG3cRunozORv7saNy-Sbj3y7yd3U"} 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":"de8ca01677ccad946384082b4a728fde"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ff304fd-81ca-481f-90b2-3561f3bd2ef9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ff304fd-81ca-481f-90b2-3561f3bd2ef9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:29.313593230Z"}]},"request_id":"babb52d3-dbcd-4507-b9e0-899d0b395c82","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515331.4176157} 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":"de8ca01677ccad946384082b4a728fde"},"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":"09/Jul/2024:08:55:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9? 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":"de8ca01677ccad946384082b4a728fde"} device-1 | {"level":"info","message":"GET /devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9? 200 13ms","method":"GET","requestID":"de8ca01677ccad946384082b4a728fde","responseTime":13,"status":200,"url":"/devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzMX0.r37jlKk0cWqnSRdDG3cRunozORv7saNy-Sbj3y7yd3U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4d1c604404d13cedd425ab40e48669e6","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:44070","level":"info","msg":"Received request.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.204864,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515331,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzMX0.r37jlKk0cWqnSRdDG3cRunozORv7saNy-Sbj3y7yd3U"} 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":"4d1c604404d13cedd425ab40e48669e6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2264d6e7-7037-4822-a98f-895d1da97d8b"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2264d6e7-7037-4822-a98f-895d1da97d8b"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2264d6e7-7037-4822-a98f-895d1da97d8b"},"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:44070","level":"info","msg":"Received request.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.238497,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515331,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzMX0.r37jlKk0cWqnSRdDG3cRunozORv7saNy-Sbj3y7yd3U"} 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":"ff228900-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:46878","level":"info","msg":"Received request.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"client_addr":"127.0.0.1:46878","level":"info","msg":"Sent response.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.971936,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515331,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzMX0.r37jlKk0cWqnSRdDG3cRunozORv7saNy-Sbj3y7yd3U"} 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":"ff22d720-3dd0-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38aada4f-afba-4fad-ace5-fa1e7ba94db3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38aada4f-afba-4fad-ace5-fa1e7ba94db3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:29.264122116Z"}]},"request_id":"9104d605-1e40-4406-9206-aa94b053c0ee","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515331.4840028} 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":"ff228900-3dd0-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ff304fd-81ca-481f-90b2-3561f3bd2ef9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ff304fd-81ca-481f-90b2-3561f3bd2ef9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:29.313593230Z"}]},"request_id":"04abbf18-411d-48cd-973c-7d21b802a0c0","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515331.485514} 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":"ff22d720-3dd0-11ef-ab4a-87fddd4f273f"},"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/38aada4f-afba-4fad-ace5-fa1e7ba94db3? 200 19ms","method":"GET","requestID":"ff228900-3dd0-11ef-ab4a-87fddd4f273f","responseTime":19,"status":200,"url":"/devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9? 200 18ms","method":"GET","requestID":"ff22d720-3dd0-11ef-ab4a-87fddd4f273f","responseTime":18,"status":200,"url":"/devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2264d6e7-7037-4822-a98f-895d1da97d8b"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2264d6e7-7037-4822-a98f-895d1da97d8b"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2264d6e7-7037-4822-a98f-895d1da97d8b"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2264d6e7-7037-4822-a98f-895d1da97d8b"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2264d6e7-7037-4822-a98f-895d1da97d8b"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2264d6e7-7037-4822-a98f-895d1da97d8b"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2264d6e7-7037-4822-a98f-895d1da97d8b"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2264d6e7-7037-4822-a98f-895d1da97d8b"},"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:44070","level":"info","msg":"Received request.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:31Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.479577,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"client_addr":"127.0.0.1:46878","level":"info","msg":"Received request.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515331,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzMX0.r37jlKk0cWqnSRdDG3cRunozORv7saNy-Sbj3y7yd3U"} 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":"ff2d8580-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2264d6e7-7037-4822-a98f-895d1da97d8b"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:46878","level":"info","msg":"Sent response.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.094166,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515331,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzMX0.r37jlKk0cWqnSRdDG3cRunozORv7saNy-Sbj3y7yd3U"} 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":"ff2dd3a0-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.434403,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38aada4f-afba-4fad-ace5-fa1e7ba94db3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"98cf8b75-7765-4e49-9f84-5ec599df24e6","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515331.559511} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3","object_type":"device","rebac_allow":false,"scope_allow":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":"ff2e48d0-3dd0-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38aada4f-afba-4fad-ace5-fa1e7ba94db3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38aada4f-afba-4fad-ace5-fa1e7ba94db3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:29.264122116Z"}]},"request_id":"9923e04e-05a6-4b99-b430-e839b69183c1","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515331.562999} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ff304fd-81ca-481f-90b2-3561f3bd2ef9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ff304fd-81ca-481f-90b2-3561f3bd2ef9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:29.313593230Z"}]},"request_id":"a964ec97-bedd-422a-ae0b-ca1c9d55b60a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515331.56539} 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":"ff2d8580-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} 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":"ff2dd3a0-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"POST /devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3/signaling 200 23ms","method":"POST","requestID":"ff2e48d0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":23,"status":200,"url":"/devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3? 200 37ms","method":"GET","requestID":"ff2d8580-3dd0-11ef-ab4a-87fddd4f273f","responseTime":37,"status":200,"url":"/devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2264d6e7-7037-4822-a98f-895d1da97d8b#owner@http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2264d6e7-7037-4822-a98f-895d1da97d8b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"76ba3c55-53a6-4551-a95a-fc3372911b06","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515331.5818973} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"535ac428-df6b-4ea5-9465-81c636c5defb","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515331.58243} 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":"4d1c604404d13cedd425ab40e48669e6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":28}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ff304fd-81ca-481f-90b2-3561f3bd2ef9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a07b0d60-9bd8-4b7e-a847-083dd03fd1b7","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515331.5864878} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.614994,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:31Z"} device-1 | {"level":"info","message":"GET /devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9? 200 42ms","method":"GET","requestID":"ff2dd3a0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":42,"status":200,"url":"/devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9","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":"ff328e90-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:31Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9/signaling 200 16ms","method":"POST","requestID":"ff328e90-3dd0-11ef-ab4a-87fddd4f273f","responseTime":16,"status":200,"url":"/devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/2264d6e7-7037-4822-a98f-895d1da97d8b","user":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38aada4f-afba-4fad-ace5-fa1e7ba94db3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"34c2fbc5-da23-41dc-9867-649542025988","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515331.594973} gateway-1 | {"time_local":"09/Jul/2024:08:55:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.170","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4d1c604404d13cedd425ab40e48669e6"} experiment-1 | {"level":"info","message":"POST /experiments? 201 165ms","method":"POST","requestID":"4d1c604404d13cedd425ab40e48669e6","responseTime":165,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.569084,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3","object_type":"device","rebac_allow":false,"scope_allow":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":"ff343c40-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzMX0.r37jlKk0cWqnSRdDG3cRunozORv7saNy-Sbj3y7yd3U","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"POST /devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3/signaling 200 13ms","method":"POST","requestID":"ff343c40-3dd0-11ef-ab4a-87fddd4f273f","responseTime":13,"status":200,"url":"/devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6d4150f1a837eebc89b5faf3aabf2c53","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:44070","level":"info","msg":"Received request.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.950547,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515331,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzMX0.r37jlKk0cWqnSRdDG3cRunozORv7saNy-Sbj3y7yd3U"} 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":"6d4150f1a837eebc89b5faf3aabf2c53"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:46878","level":"info","msg":"Received request.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ff304fd-81ca-481f-90b2-3561f3bd2ef9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bf79b400-6e99-4213-bc4b-e1b7f13d8118","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515331.6102939} authorization-1 | {"client_addr":"127.0.0.1:46878","level":"info","msg":"Sent response.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.228959,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9","object_type":"device","rebac_allow":false,"scope_allow":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":"ff36ad40-3dd0-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38aada4f-afba-4fad-ace5-fa1e7ba94db3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38aada4f-afba-4fad-ace5-fa1e7ba94db3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:29.264122116Z"}]},"request_id":"2a068851-2b3b-4592-a69f-465dde018e7e","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515331.6131706} 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":"6d4150f1a837eebc89b5faf3aabf2c53"},"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/0ff304fd-81ca-481f-90b2-3561f3bd2ef9/signaling 200 14ms","method":"POST","requestID":"ff36ad40-3dd0-11ef-ab4a-87fddd4f273f","responseTime":14,"status":200,"url":"/devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"09/Jul/2024:08:55:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3? 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":"6d4150f1a837eebc89b5faf3aabf2c53"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2264d6e7-7037-4822-a98f-895d1da97d8b"},"level":"info","message":"Attempting to create peerconnections for experiment"} device-1 | {"level":"info","message":"GET /devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3? 200 18ms","method":"GET","requestID":"6d4150f1a837eebc89b5faf3aabf2c53","responseTime":18,"status":200,"url":"/devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2264d6e7-7037-4822-a98f-895d1da97d8b"},"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":"6b710668-a3cf-45cb-82cc-43331e160bc0"},{"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":"cc3df042-ef7c-4695-82bf-e7cbaa8c2129"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"62d2d4af-367a-4cbf-a224-94e50aafa09e"}]},"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/38aada4f-afba-4fad-ace5-fa1e7ba94db3"},{"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/0ff304fd-81ca-481f-90b2-3561f3bd2ef9"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:31Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzMX0.r37jlKk0cWqnSRdDG3cRunozORv7saNy-Sbj3y7yd3U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"21a3433bc03bb0a060d0987f0bfc1035","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.2308,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:31Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515331,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzMX0.r37jlKk0cWqnSRdDG3cRunozORv7saNy-Sbj3y7yd3U"} 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":"ff396c60-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.962915,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515331,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzMX0.r37jlKk0cWqnSRdDG3cRunozORv7saNy-Sbj3y7yd3U"} 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":"21a3433bc03bb0a060d0987f0bfc1035"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ff304fd-81ca-481f-90b2-3561f3bd2ef9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ff304fd-81ca-481f-90b2-3561f3bd2ef9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:29.313593230Z"}]},"request_id":"69fdc4c4-7477-4557-87a6-ed40f518d8d8","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515331.6365232} 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":"21a3433bc03bb0a060d0987f0bfc1035"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","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%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"02f51c57-c1c4-4ad2-ad6d-1e7459e8dfa4","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515331.6412249} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a3833d60-84fe-466a-835d-14127ebb9042","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515331.6414866} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"09/Jul/2024:08:55:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9? 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":"21a3433bc03bb0a060d0987f0bfc1035"} device-1 | {"level":"info","message":"GET /devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9? 200 15ms","method":"GET","requestID":"21a3433bc03bb0a060d0987f0bfc1035","responseTime":15,"status":200,"url":"/devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9?"} 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":"ff396c60-3dd0-11ef-ab4a-87fddd4f273f"},"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/abce8223-38fe-4935-855d-9202da15c817'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/abce8223-38fe-4935-855d-9202da15c817'"} 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":"ff396c60-3dd0-11ef-ab4a-87fddd4f273f","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/2264d6e7-7037-4822-a98f-895d1da97d8b"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38aada4f-afba-4fad-ace5-fa1e7ba94db3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d1583748-74f7-4cd5-8a65-44145b957b20","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515331.6921134} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.262814,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"ff433060-3dd0-11ef-ab4a-87fddd4f273f"},"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/38aada4f-afba-4fad-ace5-fa1e7ba94db3/signaling 200 11ms","method":"POST","requestID":"ff433060-3dd0-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ff304fd-81ca-481f-90b2-3561f3bd2ef9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0aa84d09-6af6-42ef-ac2d-b9a28d0a8e64","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515331.7036288} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.462506,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9","object_type":"device","rebac_allow":false,"scope_allow":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":"ff450520-3dd0-11ef-ab4a-87fddd4f273f"},"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/0ff304fd-81ca-481f-90b2-3561f3bd2ef9/signaling 200 15ms","method":"POST","requestID":"ff450520-3dd0-11ef-ab4a-87fddd4f273f","responseTime":15,"status":200,"url":"/devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/abce8223-38fe-4935-855d-9202da15c817' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"abce8223-38fe-4935-855d-9202da15c817","statusDeviceA":"new","statusDeviceB":"connecting"},"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":"7c4e449f29863d2bd098976cbc2a3293","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3"},{"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/0ff304fd-81ca-481f-90b2-3561f3bd2ef9"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/abce8223-38fe-4935-855d-9202da15c817"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"7c4e449f29863d2bd098976cbc2a3293","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"7c4e449f29863d2bd098976cbc2a3293"} device-1 | {"data":{"peerconnection":"abce8223-38fe-4935-855d-9202da15c817","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"abce8223-38fe-4935-855d-9202da15c817","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/abce8223-38fe-4935-855d-9202da15c817' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"abce8223-38fe-4935-855d-9202da15c817","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":"116baf711d74268fcb8298e0b64383a9","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/38aada4f-afba-4fad-ace5-fa1e7ba94db3"},{"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/0ff304fd-81ca-481f-90b2-3561f3bd2ef9"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/abce8223-38fe-4935-855d-9202da15c817"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fabce8223-38fe-4935-855d-9202da15c817","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"50e4d609-7e57-4505-91db-3b6abb1faef3","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515331.7976184} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.27555,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/abce8223-38fe-4935-855d-9202da15c817","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/abce8223-38fe-4935-855d-9202da15c817","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":"ff535d00-3dd0-11ef-ab4a-87fddd4f273f"},"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/abce8223-38fe-4935-855d-9202da15c817 200 10ms","method":"GET","requestID":"ff535d00-3dd0-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/peerconnections/abce8223-38fe-4935-855d-9202da15c817"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 36ms","method":"POST","requestID":"116baf711d74268fcb8298e0b64383a9","responseTime":36,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55: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.039","http_referrer":"","http_user_agent":"node-fetch","requestID":"116baf711d74268fcb8298e0b64383a9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38aada4f-afba-4fad-ace5-fa1e7ba94db3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c8403837-67d5-4c58-b76c-77de894d28e8","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515331.828996} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.188146,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3","object_type":"device","rebac_allow":false,"scope_allow":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":"ff583f00-3dd0-11ef-ab4a-87fddd4f273f"},"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/38aada4f-afba-4fad-ace5-fa1e7ba94db3/signaling 200 9ms","method":"POST","requestID":"ff583f00-3dd0-11ef-ab4a-87fddd4f273f","responseTime":9,"status":200,"url":"/devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ff304fd-81ca-481f-90b2-3561f3bd2ef9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"16a2e932-b026-406f-8486-26ffdbd1a562","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515331.8397396} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.151969,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9","object_type":"device","rebac_allow":false,"scope_allow":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":"ff59ecb0-3dd0-11ef-ab4a-87fddd4f273f"},"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/0ff304fd-81ca-481f-90b2-3561f3bd2ef9/signaling 200 8ms","method":"POST","requestID":"ff59ecb0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":8,"status":200,"url":"/devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzMX0.r37jlKk0cWqnSRdDG3cRunozORv7saNy-Sbj3y7yd3U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"00ed5345055ba64431094e5535e9c3ab","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/2264d6e7-7037-4822-a98f-895d1da97d8b"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.646096,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2264d6e7-7037-4822-a98f-895d1da97d8b","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/2264d6e7-7037-4822-a98f-895d1da97d8b","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515331,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzMX0.r37jlKk0cWqnSRdDG3cRunozORv7saNy-Sbj3y7yd3U"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","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":"00ed5345055ba64431094e5535e9c3ab"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/2264d6e7-7037-4822-a98f-895d1da97d8b"} gateway-1 | {"time_local":"09/Jul/2024:08:55:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/2264d6e7-7037-4822-a98f-895d1da97d8b HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"00ed5345055ba64431094e5535e9c3ab"} experiment-1 | {"level":"info","message":"GET /experiments/2264d6e7-7037-4822-a98f-895d1da97d8b 200 9ms","method":"GET","requestID":"00ed5345055ba64431094e5535e9c3ab","responseTime":9,"status":200,"url":"/experiments/2264d6e7-7037-4822-a98f-895d1da97d8b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzMX0.r37jlKk0cWqnSRdDG3cRunozORv7saNy-Sbj3y7yd3U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6721fa27439e5c13fccba5d8c8f3cf72","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/2264d6e7-7037-4822-a98f-895d1da97d8b"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.685682,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2264d6e7-7037-4822-a98f-895d1da97d8b","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/2264d6e7-7037-4822-a98f-895d1da97d8b","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515331,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzMX0.r37jlKk0cWqnSRdDG3cRunozORv7saNy-Sbj3y7yd3U"} 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":"6721fa27439e5c13fccba5d8c8f3cf72"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2264d6e7-7037-4822-a98f-895d1da97d8b"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.707056,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/abce8223-38fe-4935-855d-9202da15c817","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:http://localhost/peerconnections/abce8223-38fe-4935-855d-9202da15c817","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515331,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzMX0.r37jlKk0cWqnSRdDG3cRunozORv7saNy-Sbj3y7yd3U"} 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":"ff6118a0-3dd0-11ef-ab4a-87fddd4f273f"},"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/abce8223-38fe-4935-855d-9202da15c817' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/abce8223-38fe-4935-855d-9202da15c817' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"abce8223-38fe-4935-855d-9202da15c817","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fabce8223-38fe-4935-855d-9202da15c817': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fabce8223-38fe-4935-855d-9202da15c817","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"cf685b9e-312b-4eb3-9e7a-c6faadd4aa75","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515331.8983188} 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":"3205eba3326e526876f169df6096766e","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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"07499877-b03c-420c-94f8-076523213919","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515331.8997066} 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/38aada4f-afba-4fad-ace5-fa1e7ba94db3"},{"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/0ff304fd-81ca-481f-90b2-3561f3bd2ef9"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/abce8223-38fe-4935-855d-9202da15c817"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"08f927739932c884aa5382b9aa1fa067","responseTime":1,"status":200,"url":"/auth"} 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":"ff6118a0-3dd0-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} 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/38aada4f-afba-4fad-ace5-fa1e7ba94db3"},{"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/0ff304fd-81ca-481f-90b2-3561f3bd2ef9"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/abce8223-38fe-4935-855d-9202da15c817"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"abce8223-38fe-4935-855d-9202da15c817","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/abce8223-38fe-4935-855d-9202da15c817 204 35ms","method":"DELETE","requestID":"ff6118a0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":35,"status":204,"url":"/peerconnections/abce8223-38fe-4935-855d-9202da15c817"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2264d6e7-7037-4822-a98f-895d1da97d8b"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38aada4f-afba-4fad-ace5-fa1e7ba94db3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e8965043-10b1-49c0-acf3-fe7476f31eb6","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515331.9366438} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.260244,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"ff68b9c0-3dd0-11ef-ab4a-87fddd4f273f"},"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/38aada4f-afba-4fad-ace5-fa1e7ba94db3/signaling 200 8ms","method":"POST","requestID":"ff68b9c0-3dd0-11ef-ab4a-87fddd4f273f","responseTime":8,"status":200,"url":"/devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2264d6e7-7037-4822-a98f-895d1da97d8b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2264d6e7-7037-4822-a98f-895d1da97d8b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"db8ab980-5da0-4a0c-a7e8-a63e6bcccb6e","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515331.9433484} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"68b97c2f-8cb5-44f9-a8a5-fba4cdd7f23b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515331.9436357} 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":"6721fa27439e5c13fccba5d8c8f3cf72"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ff304fd-81ca-481f-90b2-3561f3bd2ef9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"41fe4c51-e6cf-43ed-8fec-d3d6acae44de","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515331.9484942} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.385251,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"ff6a6770-3dd0-11ef-ab4a-87fddd4f273f"},"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/0ff304fd-81ca-481f-90b2-3561f3bd2ef9/signaling 200 9ms","method":"POST","requestID":"ff6a6770-3dd0-11ef-ab4a-87fddd4f273f","responseTime":9,"status":200,"url":"/devices/0ff304fd-81ca-481f-90b2-3561f3bd2ef9/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/2264d6e7-7037-4822-a98f-895d1da97d8b"} gateway-1 | {"time_local":"09/Jul/2024:08:55:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/2264d6e7-7037-4822-a98f-895d1da97d8b HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.136","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6721fa27439e5c13fccba5d8c8f3cf72"} experiment-1 | {"level":"info","message":"DELETE /experiments/2264d6e7-7037-4822-a98f-895d1da97d8b 204 133ms","method":"DELETE","requestID":"6721fa27439e5c13fccba5d8c8f3cf72","responseTime":133,"status":204,"url":"/experiments/2264d6e7-7037-4822-a98f-895d1da97d8b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 107ms","method":"POST","requestID":"3205eba3326e526876f169df6096766e","responseTime":107,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55: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.112","http_referrer":"","http_user_agent":"node-fetch","requestID":"3205eba3326e526876f169df6096766e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 107ms","method":"POST","requestID":"08f927739932c884aa5382b9aa1fa067","responseTime":107,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55: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.112","http_referrer":"","http_user_agent":"node-fetch","requestID":"08f927739932c884aa5382b9aa1fa067"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzMn0.5ULTEu1QI-JKvaOoIVasAStzPJXzEb28kOIKStjzYR8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"215b0eda5d7ff6f32e50576390f9fe39","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:32Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":3.180914,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:32Z"} gateway-1 | {"time_local":"09/Jul/2024:08:55:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2884","request_time":"0.655","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"41bbf24bf9e5b93468170a88ec23c7a6"} gateway-1 | {"time_local":"09/Jul/2024:08:55:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2888","request_time":"0.692","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1d7ddd4dbffc34dc7b8a72c861b245e2"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515332,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzMn0.5ULTEu1QI-JKvaOoIVasAStzPJXzEb28kOIKStjzYR8"} 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":"215b0eda5d7ff6f32e50576390f9fe39"},"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/0ff304fd-81ca-481f-90b2-3561f3bd2ef9' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/38aada4f-afba-4fad-ace5-fa1e7ba94db3' 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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76bf5fb2-fdb2-4d87-852b-1bff7968b321","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"aeb9f075-4ad7-4070-865c-dd7afdc1957d","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515332.040246} 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":"215b0eda5d7ff6f32e50576390f9fe39"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e7aae453-2112-4de5-81fd-1ec164bf56fc","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515332.0445728} 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":"215b0eda5d7ff6f32e50576390f9fe39"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76bf5fb2-fdb2-4d87-852b-1bff7968b321","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"32ce90cd-624f-45c2-9f6b-83dc7dba0ea4","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515332.0540187} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"99bd0a67-fc98-4d92-8dd9-021ef7be2e12","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515332.0542426} 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":"215b0eda5d7ff6f32e50576390f9fe39"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76bf5fb2-fdb2-4d87-852b-1bff7968b321","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76bf5fb2-fdb2-4d87-852b-1bff7968b321","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:32.054000569Z"}]},"request_id":"57e5759e-d51e-4e54-9700-0a73fac0b6ab","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515332.0580018} 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":"215b0eda5d7ff6f32e50576390f9fe39"},"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":"09/Jul/2024:08:55: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.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"215b0eda5d7ff6f32e50576390f9fe39"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"215b0eda5d7ff6f32e50576390f9fe39","responseTime":46,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzMn0.5ULTEu1QI-JKvaOoIVasAStzPJXzEb28kOIKStjzYR8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"eac7cffbfa126b401161d3ef3d7bbc10","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:32Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.721367,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515332,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzMn0.5ULTEu1QI-JKvaOoIVasAStzPJXzEb28kOIKStjzYR8"} 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":"eac7cffbfa126b401161d3ef3d7bbc10"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb708b89d-e9b6-42a4-b9ce-84c1816b252b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8faefcd3-88f9-4dc2-92f3-d11b4ae02084","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515332.0785944} 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":"eac7cffbfa126b401161d3ef3d7bbc10"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"995fa835-8d4b-41f4-b8d9-bec0eccb7617","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515332.0828848} 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":"eac7cffbfa126b401161d3ef3d7bbc10"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb708b89d-e9b6-42a4-b9ce-84c1816b252b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"c3d210d7-3686-41e6-9598-6562c8bc0886","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515332.0968573} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9fb7e95c-848d-472a-bb59-c30297cb7de3","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515332.0970433} 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":"eac7cffbfa126b401161d3ef3d7bbc10"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb708b89d-e9b6-42a4-b9ce-84c1816b252b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb708b89d-e9b6-42a4-b9ce-84c1816b252b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:32.096838206Z"}]},"request_id":"dea60bc3-4e23-480d-ba79-dd49a1c32f40","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515332.100376} 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":"eac7cffbfa126b401161d3ef3d7bbc10"},"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":"09/Jul/2024:08:55:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eac7cffbfa126b401161d3ef3d7bbc10"} device-1 | {"level":"info","message":"POST /devices? 201 38ms","method":"POST","requestID":"eac7cffbfa126b401161d3ef3d7bbc10","responseTime":38,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzMn0.5ULTEu1QI-JKvaOoIVasAStzPJXzEb28kOIKStjzYR8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"aee765c5ca056d9ceb4370c440fbf068","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:32Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.288693,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515332,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzMn0.5ULTEu1QI-JKvaOoIVasAStzPJXzEb28kOIKStjzYR8"} 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":"aee765c5ca056d9ceb4370c440fbf068"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb708b89d-e9b6-42a4-b9ce-84c1816b252b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb708b89d-e9b6-42a4-b9ce-84c1816b252b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:32.096838206Z"}]},"request_id":"bcd3e113-ff68-4643-99eb-9d542047c5b4","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515332.6277099} 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":"aee765c5ca056d9ceb4370c440fbf068"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f95ca281-e466-4efa-a189-9241aaab1a05","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515332.6348114} 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":"aee765c5ca056d9ceb4370c440fbf068"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb708b89d-e9b6-42a4-b9ce-84c1816b252b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb708b89d-e9b6-42a4-b9ce-84c1816b252b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:32.096838206Z"}]},"request_id":"361dd161-a658-4e11-b164-5664ba957beb","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515332.6491165} 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":"aee765c5ca056d9ceb4370c440fbf068"},"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":"09/Jul/2024:08:55:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.052","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"aee765c5ca056d9ceb4370c440fbf068"} device-1 | {"level":"info","message":"PATCH /devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b 200 47ms","method":"PATCH","requestID":"aee765c5ca056d9ceb4370c440fbf068","responseTime":47,"status":200,"url":"/devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzMn0.5ULTEu1QI-JKvaOoIVasAStzPJXzEb28kOIKStjzYR8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f4169e92e2ac052925f747d03645177d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:32Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.197839,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515332,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzMn0.5ULTEu1QI-JKvaOoIVasAStzPJXzEb28kOIKStjzYR8"} 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":"f4169e92e2ac052925f747d03645177d"},"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":"09/Jul/2024:08:55:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b/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":"f4169e92e2ac052925f747d03645177d"} device-1 | {"level":"info","message":"POST /devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b/websocket 200 24ms","method":"POST","requestID":"f4169e92e2ac052925f747d03645177d","responseTime":24,"status":200,"url":"/devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b' 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":"3937f58e5d2ed3aaaa5a9eebdb3a39fe","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"09/Jul/2024:08:55:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321/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":"3937f58e5d2ed3aaaa5a9eebdb3a39fe"} device-1 | {"level":"info","message":"OPTIONS /devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321/websocket 200 1ms","method":"OPTIONS","requestID":"3937f58e5d2ed3aaaa5a9eebdb3a39fe","responseTime":1,"status":200,"url":"/devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzNH0.P48OHwLPdVTFrCdTzuceZvoCgs3TAGwoHxeyqPd5ym8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4c26b9d3e462ee48332ebf1e056baceb","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:34Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.268657,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:34Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515334,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzNH0.P48OHwLPdVTFrCdTzuceZvoCgs3TAGwoHxeyqPd5ym8"} 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":"4c26b9d3e462ee48332ebf1e056baceb"},"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":"09/Jul/2024:08:55:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321/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":"4c26b9d3e462ee48332ebf1e056baceb"} device-1 | {"level":"info","message":"POST /devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321/websocket 200 21ms","method":"POST","requestID":"4c26b9d3e462ee48332ebf1e056baceb","responseTime":21,"status":200,"url":"/devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzNH0.P48OHwLPdVTFrCdTzuceZvoCgs3TAGwoHxeyqPd5ym8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6cf95ffdb76ea948b3bc60911bb4fa4c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:34Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.218938,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515334,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzNH0.P48OHwLPdVTFrCdTzuceZvoCgs3TAGwoHxeyqPd5ym8"} 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":"6cf95ffdb76ea948b3bc60911bb4fa4c"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76bf5fb2-fdb2-4d87-852b-1bff7968b321","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76bf5fb2-fdb2-4d87-852b-1bff7968b321","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:32.054000569Z"}]},"request_id":"1e3c2ec7-8ae5-45ec-8683-7473b58a3036","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515334.191063} 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":"6cf95ffdb76ea948b3bc60911bb4fa4c"},"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":"09/Jul/2024:08:55:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321? 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":"6cf95ffdb76ea948b3bc60911bb4fa4c"} device-1 | {"level":"info","message":"GET /devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321? 200 18ms","method":"GET","requestID":"6cf95ffdb76ea948b3bc60911bb4fa4c","responseTime":18,"status":200,"url":"/devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzNH0.P48OHwLPdVTFrCdTzuceZvoCgs3TAGwoHxeyqPd5ym8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"59803c66ea8382bcfef75c60f35ea54f","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:34Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.2662,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515334,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzNH0.P48OHwLPdVTFrCdTzuceZvoCgs3TAGwoHxeyqPd5ym8"} 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":"59803c66ea8382bcfef75c60f35ea54f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb708b89d-e9b6-42a4-b9ce-84c1816b252b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb708b89d-e9b6-42a4-b9ce-84c1816b252b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:32.096838206Z"}]},"request_id":"4f462efc-2bb9-4cd9-a854-1c15b6ed2d5a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515334.217163} 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":"59803c66ea8382bcfef75c60f35ea54f"},"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/b708b89d-e9b6-42a4-b9ce-84c1816b252b? 200 19ms","method":"GET","requestID":"59803c66ea8382bcfef75c60f35ea54f","responseTime":19,"status":200,"url":"/devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b?"} gateway-1 | {"time_local":"09/Jul/2024:08:55:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b? 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":"59803c66ea8382bcfef75c60f35ea54f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzNH0.P48OHwLPdVTFrCdTzuceZvoCgs3TAGwoHxeyqPd5ym8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"ac48d9289474761495ae6a1c32a4e54d","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:44070","level":"info","msg":"Received request.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:34Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.231216,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515334,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzNH0.P48OHwLPdVTFrCdTzuceZvoCgs3TAGwoHxeyqPd5ym8"} 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":"ac48d9289474761495ae6a1c32a4e54d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c16b3cb0-b096-4e2f-a0ea-d422f876d681"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c16b3cb0-b096-4e2f-a0ea-d422f876d681"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c16b3cb0-b096-4e2f-a0ea-d422f876d681"},"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:44070","level":"info","msg":"Received request.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:34Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.794158,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:34Z"} authorization-1 | {"client_addr":"127.0.0.1:46878","level":"info","msg":"Received request.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515334,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzNH0.P48OHwLPdVTFrCdTzuceZvoCgs3TAGwoHxeyqPd5ym8"} 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":"00ce3d30-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:46878","level":"info","msg":"Sent response.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.812357,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515334,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzNH0.P48OHwLPdVTFrCdTzuceZvoCgs3TAGwoHxeyqPd5ym8"} 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":"00ce8b50-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76bf5fb2-fdb2-4d87-852b-1bff7968b321","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76bf5fb2-fdb2-4d87-852b-1bff7968b321","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:32.054000569Z"}]},"request_id":"ae476903-de5e-4790-a996-8c00c14841d4","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515334.2866397} 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":"00ce3d30-3dd1-11ef-ab4a-87fddd4f273f"},"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":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb708b89d-e9b6-42a4-b9ce-84c1816b252b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb708b89d-e9b6-42a4-b9ce-84c1816b252b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:32.096838206Z"}]},"request_id":"815bf5a9-20fd-4e6b-9c5c-e15a53dde39b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515334.2893999} 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":"00ce8b50-3dd1-11ef-ab4a-87fddd4f273f"},"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/76bf5fb2-fdb2-4d87-852b-1bff7968b321? 200 17ms","method":"GET","requestID":"00ce3d30-3dd1-11ef-ab4a-87fddd4f273f","responseTime":17,"status":200,"url":"/devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b? 200 17ms","method":"GET","requestID":"00ce8b50-3dd1-11ef-ab4a-87fddd4f273f","responseTime":17,"status":200,"url":"/devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c16b3cb0-b096-4e2f-a0ea-d422f876d681"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c16b3cb0-b096-4e2f-a0ea-d422f876d681"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c16b3cb0-b096-4e2f-a0ea-d422f876d681"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c16b3cb0-b096-4e2f-a0ea-d422f876d681"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c16b3cb0-b096-4e2f-a0ea-d422f876d681"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c16b3cb0-b096-4e2f-a0ea-d422f876d681"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c16b3cb0-b096-4e2f-a0ea-d422f876d681"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c16b3cb0-b096-4e2f-a0ea-d422f876d681"},"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/c16b3cb0-b096-4e2f-a0ea-d422f876d681"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:34Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.643386,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:34Z"} authorization-1 | {"client_addr":"127.0.0.1:46878","level":"info","msg":"Received request.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515334,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzNH0.P48OHwLPdVTFrCdTzuceZvoCgs3TAGwoHxeyqPd5ym8"} 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":"00dac050-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:46878","level":"info","msg":"Sent response.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.136503,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515334,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzNH0.P48OHwLPdVTFrCdTzuceZvoCgs3TAGwoHxeyqPd5ym8"} 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":"00db0e70-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:34Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.751534,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:34Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76bf5fb2-fdb2-4d87-852b-1bff7968b321","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"323a38e3-fff8-4713-8905-9981b3f01d01","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515334.370446} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321","object_type":"device","rebac_allow":false,"scope_allow":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":"00db3580-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76bf5fb2-fdb2-4d87-852b-1bff7968b321","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76bf5fb2-fdb2-4d87-852b-1bff7968b321","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:32.054000569Z"}]},"request_id":"9a380bf3-a324-455b-a3d3-2e60728a0850","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515334.372498} 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":"00dac050-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb708b89d-e9b6-42a4-b9ce-84c1816b252b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb708b89d-e9b6-42a4-b9ce-84c1816b252b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:32.096838206Z"}]},"request_id":"fdcb3df4-c7ab-4fb0-8314-b407b3abbd12","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515334.3761663} device-1 | {"level":"info","message":"POST /devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321/signaling 200 16ms","method":"POST","requestID":"00db3580-3dd1-11ef-ab4a-87fddd4f273f","responseTime":16,"status":200,"url":"/devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321/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":"00db0e70-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321? 200 30ms","method":"GET","requestID":"00dac050-3dd1-11ef-ab4a-87fddd4f273f","responseTime":30,"status":200,"url":"/devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321?"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:34Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb708b89d-e9b6-42a4-b9ce-84c1816b252b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"400b0653-c024-4cdd-af3e-3ef76048c924","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515334.3887146} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc16b3cb0-b096-4e2f-a0ea-d422f876d681#owner@http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc16b3cb0-b096-4e2f-a0ea-d422f876d681","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"9426dfb6-1d9d-4312-b4f8-54933f7a3049","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515334.388976} 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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ea68a21e-6029-4f19-b5f8-58a5e8eb78bc","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515334.3894675} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.871559,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:34Z"} device-1 | {"level":"info","message":"GET /devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b? 200 32ms","method":"GET","requestID":"00db0e70-3dd1-11ef-ab4a-87fddd4f273f","responseTime":32,"status":200,"url":"/devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b","object_type":"device","rebac_allow":false,"scope_allow":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":"00de90e0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} 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":"ac48d9289474761495ae6a1c32a4e54d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":26}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:34Z"} device-1 | {"level":"info","message":"POST /devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b/signaling 200 15ms","method":"POST","requestID":"00de90e0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":15,"status":200,"url":"/devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b/signaling"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76bf5fb2-fdb2-4d87-852b-1bff7968b321","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fdea3b7e-7b7a-4e2b-9d10-a54517c41186","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515334.3994756} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.285352,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"00e065a0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/c16b3cb0-b096-4e2f-a0ea-d422f876d681","user":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"09/Jul/2024:08:55:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.178","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ac48d9289474761495ae6a1c32a4e54d"} experiment-1 | {"level":"info","message":"POST /experiments? 201 170ms","method":"POST","requestID":"ac48d9289474761495ae6a1c32a4e54d","responseTime":170,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321/signaling 200 11ms","method":"POST","requestID":"00e065a0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzNH0.P48OHwLPdVTFrCdTzuceZvoCgs3TAGwoHxeyqPd5ym8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7da69f76e2f4e5004616fb5ff62312c2","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:34Z"} authorization-1 | {"client_addr":"127.0.0.1:46878","level":"info","msg":"Received request.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:34Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb708b89d-e9b6-42a4-b9ce-84c1816b252b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cfa47d4d-899d-4e1c-a54b-cfc3e2d9887d","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515334.4152625} authorization-1 | {"client_addr":"127.0.0.1:46878","level":"info","msg":"Sent response.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.701415,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515334,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzNH0.P48OHwLPdVTFrCdTzuceZvoCgs3TAGwoHxeyqPd5ym8"} 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":"7da69f76e2f4e5004616fb5ff62312c2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.947472,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b","object_type":"device","rebac_allow":false,"scope_allow":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":"00e28880-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76bf5fb2-fdb2-4d87-852b-1bff7968b321","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76bf5fb2-fdb2-4d87-852b-1bff7968b321","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:32.054000569Z"}]},"request_id":"274db715-5f10-435c-98fd-f37e028dca8f","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515334.420463} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} 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":"7da69f76e2f4e5004616fb5ff62312c2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"POST /devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b/signaling 200 13ms","method":"POST","requestID":"00e28880-3dd1-11ef-ab4a-87fddd4f273f","responseTime":13,"status":200,"url":"/devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c16b3cb0-b096-4e2f-a0ea-d422f876d681"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c16b3cb0-b096-4e2f-a0ea-d422f876d681"},"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":"5be6168d-ab7c-47e3-9f05-4dfb2def6182"},{"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":"74dd2477-4e76-4f28-b262-b40b7cf746ec"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"c76bbfb7-7478-4ea5-9564-b2b767a85d43"}]},"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/b708b89d-e9b6-42a4-b9ce-84c1816b252b"},{"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/76bf5fb2-fdb2-4d87-852b-1bff7968b321"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"09/Jul/2024:08:55:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321? 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":"7da69f76e2f4e5004616fb5ff62312c2"} device-1 | {"level":"info","message":"GET /devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321? 200 15ms","method":"GET","requestID":"7da69f76e2f4e5004616fb5ff62312c2","responseTime":15,"status":200,"url":"/devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321?"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:34Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.884648,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:34Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzNH0.P48OHwLPdVTFrCdTzuceZvoCgs3TAGwoHxeyqPd5ym8","level":"info","message":"auth send jwt"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515334,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzNH0.P48OHwLPdVTFrCdTzuceZvoCgs3TAGwoHxeyqPd5ym8"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e109516107844a1489760dc747eb0d41","responseTime":4,"status":200,"url":"/auth"} 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":"00e547a0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:34Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.966648,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515334,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzNH0.P48OHwLPdVTFrCdTzuceZvoCgs3TAGwoHxeyqPd5ym8"} 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":"e109516107844a1489760dc747eb0d41"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb708b89d-e9b6-42a4-b9ce-84c1816b252b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb708b89d-e9b6-42a4-b9ce-84c1816b252b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:32.096838206Z"}]},"request_id":"7dd4d0d4-46b7-4306-931c-7c424bc569e5","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515334.4403322} 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":"e109516107844a1489760dc747eb0d41"},"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":"09/Jul/2024:08:55:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b? 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":"e109516107844a1489760dc747eb0d41"} device-1 | {"level":"info","message":"GET /devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b? 200 13ms","method":"GET","requestID":"e109516107844a1489760dc747eb0d41","responseTime":13,"status":200,"url":"/devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b?"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","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%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"d6f876b1-d858-4adb-9baa-d45fbc2db30c","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515334.4450073} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5eda1474-ceef-45c1-b4e6-f967738b9548","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515334.4453897} 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":"00e547a0-3dd1-11ef-ab4a-87fddd4f273f"},"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/ac0ed939-cebb-4430-a7e8-0a0ba16b5813'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/ac0ed939-cebb-4430-a7e8-0a0ba16b5813'"} 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":"00e547a0-3dd1-11ef-ab4a-87fddd4f273f","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/c16b3cb0-b096-4e2f-a0ea-d422f876d681"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:34Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76bf5fb2-fdb2-4d87-852b-1bff7968b321","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4bf1495a-4e39-434a-b33a-13535cb51603","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515334.496172} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.573588,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"00ef32b0-3dd1-11ef-ab4a-87fddd4f273f"},"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/76bf5fb2-fdb2-4d87-852b-1bff7968b321/signaling 200 10ms","method":"POST","requestID":"00ef32b0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:34Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb708b89d-e9b6-42a4-b9ce-84c1816b252b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2b50b99e-b787-46e3-be98-f3c849dac58e","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515334.508002} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.047747,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"00f10770-3dd1-11ef-ab4a-87fddd4f273f"},"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/b708b89d-e9b6-42a4-b9ce-84c1816b252b/signaling 200 10ms","method":"POST","requestID":"00f10770-3dd1-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b/signaling"} device-1 | {"data":{"peerconnection":"ac0ed939-cebb-4430-a7e8-0a0ba16b5813","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/ac0ed939-cebb-4430-a7e8-0a0ba16b5813' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ac0ed939-cebb-4430-a7e8-0a0ba16b5813","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":"8cccbc15af8f7ed4a3b43c5b98bd94b2","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/b708b89d-e9b6-42a4-b9ce-84c1816b252b"},{"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/76bf5fb2-fdb2-4d87-852b-1bff7968b321"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/ac0ed939-cebb-4430-a7e8-0a0ba16b5813"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"8cccbc15af8f7ed4a3b43c5b98bd94b2","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55: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.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"8cccbc15af8f7ed4a3b43c5b98bd94b2"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321'"} device-1 | {"data":{"peerconnection":"ac0ed939-cebb-4430-a7e8-0a0ba16b5813","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"ac0ed939-cebb-4430-a7e8-0a0ba16b5813","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/ac0ed939-cebb-4430-a7e8-0a0ba16b5813' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ac0ed939-cebb-4430-a7e8-0a0ba16b5813","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":"08466773441605b5b1a1680621762106","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b"},{"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/76bf5fb2-fdb2-4d87-852b-1bff7968b321"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/ac0ed939-cebb-4430-a7e8-0a0ba16b5813"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:36Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fac0ed939-cebb-4430-a7e8-0a0ba16b5813","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"be3a90b2-4177-4595-b436-39bd4de850c0","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515336.556371} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.373106,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ac0ed939-cebb-4430-a7e8-0a0ba16b5813","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/ac0ed939-cebb-4430-a7e8-0a0ba16b5813","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":"0229ae80-3dd1-11ef-ab4a-87fddd4f273f"},"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/ac0ed939-cebb-4430-a7e8-0a0ba16b5813 200 8ms","method":"GET","requestID":"0229ae80-3dd1-11ef-ab4a-87fddd4f273f","responseTime":8,"status":200,"url":"/peerconnections/ac0ed939-cebb-4430-a7e8-0a0ba16b5813"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 33ms","method":"POST","requestID":"08466773441605b5b1a1680621762106","responseTime":33,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55: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.036","http_referrer":"","http_user_agent":"node-fetch","requestID":"08466773441605b5b1a1680621762106"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:36Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb708b89d-e9b6-42a4-b9ce-84c1816b252b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"641005d8-b493-43d7-a305-de7c4fe69ab1","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515336.5856426} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.33029,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b","object_type":"device","rebac_allow":false,"scope_allow":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":"022e1b50-3dd1-11ef-ab4a-87fddd4f273f"},"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/b708b89d-e9b6-42a4-b9ce-84c1816b252b/signaling 200 9ms","method":"POST","requestID":"022e1b50-3dd1-11ef-ab4a-87fddd4f273f","responseTime":9,"status":200,"url":"/devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:36Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76bf5fb2-fdb2-4d87-852b-1bff7968b321","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dab2a968-397a-42bd-9354-4992463ae65f","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515336.5958307} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.310516,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321","object_type":"device","rebac_allow":false,"scope_allow":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":"022fa1f0-3dd1-11ef-ab4a-87fddd4f273f"},"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/76bf5fb2-fdb2-4d87-852b-1bff7968b321/signaling 200 8ms","method":"POST","requestID":"022fa1f0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":8,"status":200,"url":"/devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzNn0.6myPvgd7zN3vtkCYyB7AER2st34BIoUxjcMrllRbFtE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b60ee35a6a1bec5b3e42e8f8ed4aebfd","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/c16b3cb0-b096-4e2f-a0ea-d422f876d681"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:36Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.658442,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c16b3cb0-b096-4e2f-a0ea-d422f876d681","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/c16b3cb0-b096-4e2f-a0ea-d422f876d681","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515336,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzNn0.6myPvgd7zN3vtkCYyB7AER2st34BIoUxjcMrllRbFtE"} 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":"b60ee35a6a1bec5b3e42e8f8ed4aebfd"},"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/c16b3cb0-b096-4e2f-a0ea-d422f876d681"} gateway-1 | {"time_local":"09/Jul/2024:08:55:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/c16b3cb0-b096-4e2f-a0ea-d422f876d681 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":"b60ee35a6a1bec5b3e42e8f8ed4aebfd"} experiment-1 | {"level":"info","message":"GET /experiments/c16b3cb0-b096-4e2f-a0ea-d422f876d681 200 14ms","method":"GET","requestID":"b60ee35a6a1bec5b3e42e8f8ed4aebfd","responseTime":14,"status":200,"url":"/experiments/c16b3cb0-b096-4e2f-a0ea-d422f876d681"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzNn0.6myPvgd7zN3vtkCYyB7AER2st34BIoUxjcMrllRbFtE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6d3d4ca33f3305a1a5f0f34f9cd9739f","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/c16b3cb0-b096-4e2f-a0ea-d422f876d681"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:36Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.741554,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:36Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c16b3cb0-b096-4e2f-a0ea-d422f876d681","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/c16b3cb0-b096-4e2f-a0ea-d422f876d681","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515336,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzNn0.6myPvgd7zN3vtkCYyB7AER2st34BIoUxjcMrllRbFtE"} 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":"6d3d4ca33f3305a1a5f0f34f9cd9739f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c16b3cb0-b096-4e2f-a0ea-d422f876d681"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:36Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.761716,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:36Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ac0ed939-cebb-4430-a7e8-0a0ba16b5813","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:http://localhost/peerconnections/ac0ed939-cebb-4430-a7e8-0a0ba16b5813","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515336,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzNn0.6myPvgd7zN3vtkCYyB7AER2st34BIoUxjcMrllRbFtE"} 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":"023c7330-3dd1-11ef-ab4a-87fddd4f273f"},"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/ac0ed939-cebb-4430-a7e8-0a0ba16b5813' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/ac0ed939-cebb-4430-a7e8-0a0ba16b5813' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ac0ed939-cebb-4430-a7e8-0a0ba16b5813","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fac0ed939-cebb-4430-a7e8-0a0ba16b5813': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fac0ed939-cebb-4430-a7e8-0a0ba16b5813","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"63ef08b1-44d8-492c-afd6-2e1d01ed6505","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515336.697756} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3160e44f-47f2-469e-b733-54c30305c5e6","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515336.6979434} 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":"9a0dd57de041bb5819fb4b44f67f9a5f","responseTime":1,"status":200,"url":"/auth"} 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":"023c7330-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} 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/b708b89d-e9b6-42a4-b9ce-84c1816b252b"},{"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/76bf5fb2-fdb2-4d87-852b-1bff7968b321"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ac0ed939-cebb-4430-a7e8-0a0ba16b5813"}}},"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 1ms","method":"GET","requestID":"ea272186c6cf2bbc44355e54c46dcbc1","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b"},{"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/76bf5fb2-fdb2-4d87-852b-1bff7968b321"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ac0ed939-cebb-4430-a7e8-0a0ba16b5813"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"ac0ed939-cebb-4430-a7e8-0a0ba16b5813","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/ac0ed939-cebb-4430-a7e8-0a0ba16b5813 204 42ms","method":"DELETE","requestID":"023c7330-3dd1-11ef-ab4a-87fddd4f273f","responseTime":42,"status":204,"url":"/peerconnections/ac0ed939-cebb-4430-a7e8-0a0ba16b5813"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c16b3cb0-b096-4e2f-a0ea-d422f876d681"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:36Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb708b89d-e9b6-42a4-b9ce-84c1816b252b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7d733635-a2ca-42c0-ad7b-470b0337a3ad","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515336.7472441} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.002146,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"02465e40-3dd1-11ef-ab4a-87fddd4f273f"},"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/b708b89d-e9b6-42a4-b9ce-84c1816b252b/signaling 200 15ms","method":"POST","requestID":"02465e40-3dd1-11ef-ab4a-87fddd4f273f","responseTime":15,"status":200,"url":"/devices/b708b89d-e9b6-42a4-b9ce-84c1816b252b/signaling"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc16b3cb0-b096-4e2f-a0ea-d422f876d681': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc16b3cb0-b096-4e2f-a0ea-d422f876d681","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"afbacf3d-14be-4654-8915-367be6f1492e","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515336.7557824} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a6926fb4-270e-42fa-b989-ea525ddaf5ad","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515336.7560759} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} 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":"6d3d4ca33f3305a1a5f0f34f9cd9739f"},"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:44070","level":"info","msg":"Received request.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:36Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76bf5fb2-fdb2-4d87-852b-1bff7968b321","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"981d6e63-94b8-4405-93c4-81af1c31c233","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515336.762565} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.683335,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"0248f650-3dd1-11ef-ab4a-87fddd4f273f"},"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/76bf5fb2-fdb2-4d87-852b-1bff7968b321/signaling 200 11ms","method":"POST","requestID":"0248f650-3dd1-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/devices/76bf5fb2-fdb2-4d87-852b-1bff7968b321/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/c16b3cb0-b096-4e2f-a0ea-d422f876d681"} gateway-1 | {"time_local":"09/Jul/2024:08:55:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/c16b3cb0-b096-4e2f-a0ea-d422f876d681 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.161","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6d3d4ca33f3305a1a5f0f34f9cd9739f"} experiment-1 | {"level":"info","message":"DELETE /experiments/c16b3cb0-b096-4e2f-a0ea-d422f876d681 204 156ms","method":"DELETE","requestID":"6d3d4ca33f3305a1a5f0f34f9cd9739f","responseTime":156,"status":204,"url":"/experiments/c16b3cb0-b096-4e2f-a0ea-d422f876d681"} gateway-1 | {"time_local":"09/Jul/2024:08:55:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3230","request_time":"4.134","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"d2feff677b886883cd39c1a83453a1b1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 122ms","method":"POST","requestID":"9a0dd57de041bb5819fb4b44f67f9a5f","responseTime":122,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55: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.126","http_referrer":"","http_user_agent":"node-fetch","requestID":"9a0dd57de041bb5819fb4b44f67f9a5f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 121ms","method":"POST","requestID":"ea272186c6cf2bbc44355e54c46dcbc1","responseTime":121,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55: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.127","http_referrer":"","http_user_agent":"node-fetch","requestID":"ea272186c6cf2bbc44355e54c46dcbc1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzNn0.6myPvgd7zN3vtkCYyB7AER2st34BIoUxjcMrllRbFtE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"bd979e6bed30da8a45a7722134a14579","responseTime":6,"status":200,"url":"/auth"} gateway-1 | {"time_local":"09/Jul/2024:08:55:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2742","request_time":"2.676","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9c1dec57b10575d423cbcc62f81b8d90"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:36Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.914909,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515336,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzNn0.6myPvgd7zN3vtkCYyB7AER2st34BIoUxjcMrllRbFtE"} 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":"bd979e6bed30da8a45a7722134a14579"},"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/b708b89d-e9b6-42a4-b9ce-84c1816b252b' 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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71c47600-6e92-4f0e-9b90-dd081f2d7ec8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"400000cf-11b8-44f6-8315-57ca72e7caa8","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515336.8547916} 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":"bd979e6bed30da8a45a7722134a14579"},"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/76bf5fb2-fdb2-4d87-852b-1bff7968b321' 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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"55c9c4e8-bab4-4952-8907-a262705b80a0","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515336.8602748} 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":"bd979e6bed30da8a45a7722134a14579"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71c47600-6e92-4f0e-9b90-dd081f2d7ec8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"1f2192e8-2a96-4ee2-8d93-420c3bdff6e8","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515336.8709888} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2a054195-0a2e-43d8-a2c1-ca537df90543","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515336.8713725} 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":"bd979e6bed30da8a45a7722134a14579"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71c47600-6e92-4f0e-9b90-dd081f2d7ec8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71c47600-6e92-4f0e-9b90-dd081f2d7ec8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:36.870959781Z"}]},"request_id":"5c29ae22-ed87-4766-9bfe-fddc37cda4dc","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515336.8756256} 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":"bd979e6bed30da8a45a7722134a14579"},"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":"09/Jul/2024:08:55: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.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bd979e6bed30da8a45a7722134a14579"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"bd979e6bed30da8a45a7722134a14579","responseTime":46,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzNn0.6myPvgd7zN3vtkCYyB7AER2st34BIoUxjcMrllRbFtE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"eb7e6f430b27ccbd524444d566fe2aa1","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:36Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.849078,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515336,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzNn0.6myPvgd7zN3vtkCYyB7AER2st34BIoUxjcMrllRbFtE"} 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":"eb7e6f430b27ccbd524444d566fe2aa1"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd206bcef-0b2b-48e8-9d99-592b6551cf30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0ef0613d-beaa-4ca2-899e-53c14a3ddf72","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515336.9041886} 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":"eb7e6f430b27ccbd524444d566fe2aa1"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c049b2f4-fb66-43ef-97c4-06a42e7bc6b9","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515336.9091344} 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":"eb7e6f430b27ccbd524444d566fe2aa1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd206bcef-0b2b-48e8-9d99-592b6551cf30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"05468bbe-9b2b-40c3-81e5-eb266fd99712","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515336.922088} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"42637f8f-2948-40ab-9503-388286ec7496","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515336.9221697} 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":"eb7e6f430b27ccbd524444d566fe2aa1"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd206bcef-0b2b-48e8-9d99-592b6551cf30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd206bcef-0b2b-48e8-9d99-592b6551cf30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:36.922068554Z"}]},"request_id":"c8720676-1b7b-4654-af5d-5f68c1332bdc","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515336.927501} 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":"eb7e6f430b27ccbd524444d566fe2aa1"},"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":"09/Jul/2024:08:55:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eb7e6f430b27ccbd524444d566fe2aa1"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"eb7e6f430b27ccbd524444d566fe2aa1","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzN30.-e0YnlLFWQQXjEHSC52FnbyNaFXZPBwLOSd4mEw8t_w","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"29818c7fd9106f65f60267dcd4e38979","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:37Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.245341,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:37Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d206bcef-0b2b-48e8-9d99-592b6551cf30","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/d206bcef-0b2b-48e8-9d99-592b6551cf30","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515337,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzN30.-e0YnlLFWQQXjEHSC52FnbyNaFXZPBwLOSd4mEw8t_w"} 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":"29818c7fd9106f65f60267dcd4e38979"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd206bcef-0b2b-48e8-9d99-592b6551cf30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd206bcef-0b2b-48e8-9d99-592b6551cf30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:36.922068554Z"}]},"request_id":"f15921b5-40bb-4f6d-bc1b-256bba4cf74a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515337.4385905} 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":"29818c7fd9106f65f60267dcd4e38979"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cc371f7a-b24a-4357-b49c-a1bb19643d10","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515337.4457586} 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":"29818c7fd9106f65f60267dcd4e38979"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd206bcef-0b2b-48e8-9d99-592b6551cf30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd206bcef-0b2b-48e8-9d99-592b6551cf30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:36.922068554Z"}]},"request_id":"2e757368-2d09-42c6-8a32-90ec899460f0","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515337.458679} 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":"29818c7fd9106f65f60267dcd4e38979"},"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":"09/Jul/2024:08:55:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/d206bcef-0b2b-48e8-9d99-592b6551cf30 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":"29818c7fd9106f65f60267dcd4e38979"} device-1 | {"level":"info","message":"PATCH /devices/d206bcef-0b2b-48e8-9d99-592b6551cf30 200 40ms","method":"PATCH","requestID":"29818c7fd9106f65f60267dcd4e38979","responseTime":40,"status":200,"url":"/devices/d206bcef-0b2b-48e8-9d99-592b6551cf30"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzN30.-e0YnlLFWQQXjEHSC52FnbyNaFXZPBwLOSd4mEw8t_w","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7fb50d843ef91fa78996c8d979540a60","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:37Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.186025,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:37Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d206bcef-0b2b-48e8-9d99-592b6551cf30","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/d206bcef-0b2b-48e8-9d99-592b6551cf30","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515337,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzN30.-e0YnlLFWQQXjEHSC52FnbyNaFXZPBwLOSd4mEw8t_w"} 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":"7fb50d843ef91fa78996c8d979540a60"},"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":"09/Jul/2024:08:55:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d206bcef-0b2b-48e8-9d99-592b6551cf30/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":"7fb50d843ef91fa78996c8d979540a60"} device-1 | {"level":"info","message":"POST /devices/d206bcef-0b2b-48e8-9d99-592b6551cf30/websocket 200 21ms","method":"POST","requestID":"7fb50d843ef91fa78996c8d979540a60","responseTime":21,"status":200,"url":"/devices/d206bcef-0b2b-48e8-9d99-592b6551cf30/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d206bcef-0b2b-48e8-9d99-592b6551cf30' 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":"be97b779d464bec4549c4041f9ba5e35","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"09/Jul/2024:08:55:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8/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":"be97b779d464bec4549c4041f9ba5e35"} device-1 | {"level":"info","message":"OPTIONS /devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8/websocket 200 1ms","method":"OPTIONS","requestID":"be97b779d464bec4549c4041f9ba5e35","responseTime":1,"status":200,"url":"/devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzOH0.9vmbutpBpf1QM2od45zyHc3WNLiH4E86VVgObFxWzQ4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e6cdfd5feb404a947fada2f2f80b098a","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:38Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.271975,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515338,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzOH0.9vmbutpBpf1QM2od45zyHc3WNLiH4E86VVgObFxWzQ4"} 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":"e6cdfd5feb404a947fada2f2f80b098a"},"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":"09/Jul/2024:08:55:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8/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":"e6cdfd5feb404a947fada2f2f80b098a"} device-1 | {"level":"info","message":"POST /devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8/websocket 200 21ms","method":"POST","requestID":"e6cdfd5feb404a947fada2f2f80b098a","responseTime":21,"status":200,"url":"/devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzOX0.aTrNBZb0LgIZuI5Fe5vkRZ72wxs4ud1zGzMsCDJVnGE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"29afbad7a60a76ad06ed12a14056d5bb","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:39Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.108911,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515339,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzOX0.aTrNBZb0LgIZuI5Fe5vkRZ72wxs4ud1zGzMsCDJVnGE"} 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":"29afbad7a60a76ad06ed12a14056d5bb"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71c47600-6e92-4f0e-9b90-dd081f2d7ec8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71c47600-6e92-4f0e-9b90-dd081f2d7ec8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:36.870959781Z"}]},"request_id":"9a8dfe82-8148-4e23-88d5-19adc5fbd666","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515339.048223} 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":"29afbad7a60a76ad06ed12a14056d5bb"},"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/71c47600-6e92-4f0e-9b90-dd081f2d7ec8? 200 18ms","method":"GET","requestID":"29afbad7a60a76ad06ed12a14056d5bb","responseTime":18,"status":200,"url":"/devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8?"} gateway-1 | {"time_local":"09/Jul/2024:08:55:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8? 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":"29afbad7a60a76ad06ed12a14056d5bb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzOX0.aTrNBZb0LgIZuI5Fe5vkRZ72wxs4ud1zGzMsCDJVnGE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6ba1ecb32711606a2b13a2db47ced859","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:39Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.090568,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d206bcef-0b2b-48e8-9d99-592b6551cf30","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/d206bcef-0b2b-48e8-9d99-592b6551cf30","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515339,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzOX0.aTrNBZb0LgIZuI5Fe5vkRZ72wxs4ud1zGzMsCDJVnGE"} 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":"6ba1ecb32711606a2b13a2db47ced859"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd206bcef-0b2b-48e8-9d99-592b6551cf30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd206bcef-0b2b-48e8-9d99-592b6551cf30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:36.922068554Z"}]},"request_id":"df9fa590-2ba1-4cf9-8d75-dfb1966e5b61","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515339.0724304} 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":"6ba1ecb32711606a2b13a2db47ced859"},"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":"09/Jul/2024:08:55:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d206bcef-0b2b-48e8-9d99-592b6551cf30? 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":"6ba1ecb32711606a2b13a2db47ced859"} device-1 | {"level":"info","message":"GET /devices/d206bcef-0b2b-48e8-9d99-592b6551cf30? 200 18ms","method":"GET","requestID":"6ba1ecb32711606a2b13a2db47ced859","responseTime":18,"status":200,"url":"/devices/d206bcef-0b2b-48e8-9d99-592b6551cf30?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzOX0.aTrNBZb0LgIZuI5Fe5vkRZ72wxs4ud1zGzMsCDJVnGE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"97319745d236302ff3e1e7c3fce054ef","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:44070","level":"info","msg":"Received request.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:39Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.24261,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515339,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzOX0.aTrNBZb0LgIZuI5Fe5vkRZ72wxs4ud1zGzMsCDJVnGE"} 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":"97319745d236302ff3e1e7c3fce054ef"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e2f7e3e8-a5a4-4913-8ff6-4be58fc6c1b8"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e2f7e3e8-a5a4-4913-8ff6-4be58fc6c1b8"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e2f7e3e8-a5a4-4913-8ff6-4be58fc6c1b8"},"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:44070","level":"info","msg":"Received request.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:39Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.604226,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515339,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzOX0.aTrNBZb0LgIZuI5Fe5vkRZ72wxs4ud1zGzMsCDJVnGE"} 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":"03b334b0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:46878","level":"info","msg":"Received request.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:39Z"} authorization-1 | {"client_addr":"127.0.0.1:46878","level":"info","msg":"Sent response.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.808296,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d206bcef-0b2b-48e8-9d99-592b6551cf30","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/d206bcef-0b2b-48e8-9d99-592b6551cf30","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515339,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzOX0.aTrNBZb0LgIZuI5Fe5vkRZ72wxs4ud1zGzMsCDJVnGE"} 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":"03b35bc0-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71c47600-6e92-4f0e-9b90-dd081f2d7ec8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71c47600-6e92-4f0e-9b90-dd081f2d7ec8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:36.870959781Z"}]},"request_id":"902ed7ea-6b8e-45e7-8c9a-2a1a844f78d3","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515339.1388946} 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":"03b334b0-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd206bcef-0b2b-48e8-9d99-592b6551cf30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd206bcef-0b2b-48e8-9d99-592b6551cf30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:36.922068554Z"}]},"request_id":"3c7b4d19-024d-4f6e-848f-dac129e0e969","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515339.1411076} 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":"03b35bc0-3dd1-11ef-ab4a-87fddd4f273f"},"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/71c47600-6e92-4f0e-9b90-dd081f2d7ec8? 200 14ms","method":"GET","requestID":"03b334b0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":14,"status":200,"url":"/devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/d206bcef-0b2b-48e8-9d99-592b6551cf30? 200 14ms","method":"GET","requestID":"03b35bc0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":14,"status":200,"url":"/devices/d206bcef-0b2b-48e8-9d99-592b6551cf30?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e2f7e3e8-a5a4-4913-8ff6-4be58fc6c1b8"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e2f7e3e8-a5a4-4913-8ff6-4be58fc6c1b8"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e2f7e3e8-a5a4-4913-8ff6-4be58fc6c1b8"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e2f7e3e8-a5a4-4913-8ff6-4be58fc6c1b8"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e2f7e3e8-a5a4-4913-8ff6-4be58fc6c1b8"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e2f7e3e8-a5a4-4913-8ff6-4be58fc6c1b8"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e2f7e3e8-a5a4-4913-8ff6-4be58fc6c1b8"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e2f7e3e8-a5a4-4913-8ff6-4be58fc6c1b8"},"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/e2f7e3e8-a5a4-4913-8ff6-4be58fc6c1b8"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:39Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.149166,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:39Z"} authorization-1 | {"client_addr":"127.0.0.1:46878","level":"info","msg":"Received request.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515339,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzOX0.aTrNBZb0LgIZuI5Fe5vkRZ72wxs4ud1zGzMsCDJVnGE"} 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":"03bcf8b0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:46878","level":"info","msg":"Sent response.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.202063,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d206bcef-0b2b-48e8-9d99-592b6551cf30","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/d206bcef-0b2b-48e8-9d99-592b6551cf30","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515339,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzOX0.aTrNBZb0LgIZuI5Fe5vkRZ72wxs4ud1zGzMsCDJVnGE"} 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":"03bd6de0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:39Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.878296,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:39Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71c47600-6e92-4f0e-9b90-dd081f2d7ec8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9bed1e6c-c42c-48a6-9446-68f4be10696a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515339.2136316} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8","object_type":"device","rebac_allow":false,"scope_allow":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":"03be0a20-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71c47600-6e92-4f0e-9b90-dd081f2d7ec8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71c47600-6e92-4f0e-9b90-dd081f2d7ec8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:36.870959781Z"}]},"request_id":"4e867ce5-f343-4d67-90bd-04864622010d","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515339.21559} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd206bcef-0b2b-48e8-9d99-592b6551cf30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd206bcef-0b2b-48e8-9d99-592b6551cf30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:36.922068554Z"}]},"request_id":"6b6b4ef9-e18f-47a6-80e5-cd324e17833e","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515339.2170355} 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":"03bcf8b0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} 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":"03bd6de0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe2f7e3e8-a5a4-4913-8ff6-4be58fc6c1b8#owner@http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe2f7e3e8-a5a4-4913-8ff6-4be58fc6c1b8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"8fc39c96-0bdc-4aed-a4f2-75a1f0dd3d07","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515339.226676} device-1 | {"level":"info","message":"POST /devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8/signaling 200 25ms","method":"POST","requestID":"03be0a20-3dd1-11ef-ab4a-87fddd4f273f","responseTime":25,"status":200,"url":"/devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8/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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aa218419-b1cb-40fe-a357-af8281360fa4","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515339.2269058} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8? 200 33ms","method":"GET","requestID":"03bcf8b0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":33,"status":200,"url":"/devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8?"} 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":"97319745d236302ff3e1e7c3fce054ef"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":24}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/d206bcef-0b2b-48e8-9d99-592b6551cf30? 200 32ms","method":"GET","requestID":"03bd6de0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":32,"status":200,"url":"/devices/d206bcef-0b2b-48e8-9d99-592b6551cf30?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:39Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd206bcef-0b2b-48e8-9d99-592b6551cf30","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"53c4db50-e7e9-4e8c-876e-b263134966fd","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515339.2361479} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.430567,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:39Z"} authorization-1 | {"client_addr":"127.0.0.1:46878","level":"info","msg":"Received request.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:39Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/e2f7e3e8-a5a4-4913-8ff6-4be58fc6c1b8","user":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d206bcef-0b2b-48e8-9d99-592b6551cf30","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d206bcef-0b2b-48e8-9d99-592b6551cf30","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":"09/Jul/2024:08:55:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.157","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"97319745d236302ff3e1e7c3fce054ef"} experiment-1 | {"level":"info","message":"POST /experiments? 201 150ms","method":"POST","requestID":"97319745d236302ff3e1e7c3fce054ef","responseTime":150,"status":201,"url":"/experiments?"} 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":"03c276f0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71c47600-6e92-4f0e-9b90-dd081f2d7ec8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f8fd8029-fe9a-4bcb-9cff-56bcaf7b1e83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515339.2396452} authorization-1 | {"client_addr":"127.0.0.1:46878","level":"info","msg":"Sent response.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.887641,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8","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":"03c2ec20-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"POST /devices/d206bcef-0b2b-48e8-9d99-592b6551cf30/signaling 200 11ms","method":"POST","requestID":"03c276f0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/devices/d206bcef-0b2b-48e8-9d99-592b6551cf30/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzOX0.aTrNBZb0LgIZuI5Fe5vkRZ72wxs4ud1zGzMsCDJVnGE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b66d283bb940f7a5678d434b8b35d420","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8/signaling 200 11ms","method":"POST","requestID":"03c2ec20-3dd1-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:39Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.608738,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:39Z"} authorization-1 | {"client_addr":"127.0.0.1:46878","level":"info","msg":"Received request.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515339,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzOX0.aTrNBZb0LgIZuI5Fe5vkRZ72wxs4ud1zGzMsCDJVnGE"} 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":"b66d283bb940f7a5678d434b8b35d420"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd206bcef-0b2b-48e8-9d99-592b6551cf30","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8a787b9c-6494-46be-9d42-9fd670e82bb9","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515339.2525754} authorization-1 | {"client_addr":"127.0.0.1:46878","level":"info","msg":"Sent response.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.568675,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d206bcef-0b2b-48e8-9d99-592b6551cf30","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d206bcef-0b2b-48e8-9d99-592b6551cf30","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"03c4e7f0-3dd1-11ef-ab4a-87fddd4f273f"},"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/d206bcef-0b2b-48e8-9d99-592b6551cf30/signaling 200 10ms","method":"POST","requestID":"03c4e7f0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/devices/d206bcef-0b2b-48e8-9d99-592b6551cf30/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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71c47600-6e92-4f0e-9b90-dd081f2d7ec8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71c47600-6e92-4f0e-9b90-dd081f2d7ec8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:36.870959781Z"}]},"request_id":"5428aeda-3f0e-45bd-bb14-74317a39d6b6","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515339.2579699} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e2f7e3e8-a5a4-4913-8ff6-4be58fc6c1b8"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e2f7e3e8-a5a4-4913-8ff6-4be58fc6c1b8"},"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":"28a9499b-7ac4-4d0f-aa7b-8b9065244df1"},{"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":"c5bfa61f-467c-48cd-9e03-9db00b9c8449"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"1a74e967-81b4-44b4-a320-88db426e7bdc"}]},"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/d206bcef-0b2b-48e8-9d99-592b6551cf30"},{"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/71c47600-6e92-4f0e-9b90-dd081f2d7ec8"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} 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":"b66d283bb940f7a5678d434b8b35d420"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:39Z"} gateway-1 | {"time_local":"09/Jul/2024:08:55:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8? 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":"b66d283bb940f7a5678d434b8b35d420"} device-1 | {"level":"info","message":"GET /devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8? 200 19ms","method":"GET","requestID":"b66d283bb940f7a5678d434b8b35d420","responseTime":19,"status":200,"url":"/devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8?"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.823445,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515339,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzOX0.aTrNBZb0LgIZuI5Fe5vkRZ72wxs4ud1zGzMsCDJVnGE"} 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":"03c70ad0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzOX0.aTrNBZb0LgIZuI5Fe5vkRZ72wxs4ud1zGzMsCDJVnGE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c20b68f3788b4f931e24aa4f35ad36de","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","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%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"25625121-5522-4d73-8765-a9e65d64996a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515339.2736046} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"66c284b6-e6dd-44d3-8a36-dd23429b85a9","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515339.2739449} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:39Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.750071,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:39Z"} 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":"03c70ad0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d206bcef-0b2b-48e8-9d99-592b6551cf30","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/d206bcef-0b2b-48e8-9d99-592b6551cf30","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515339,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTMzOX0.aTrNBZb0LgIZuI5Fe5vkRZ72wxs4ud1zGzMsCDJVnGE"} 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":"c20b68f3788b4f931e24aa4f35ad36de"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd206bcef-0b2b-48e8-9d99-592b6551cf30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd206bcef-0b2b-48e8-9d99-592b6551cf30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:36.922068554Z"}]},"request_id":"d3bbdef5-f1f1-4f44-a4af-efb63e22a81d","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515339.2815301} 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":"c20b68f3788b4f931e24aa4f35ad36de"},"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/6b7d3f90-9b99-4ff3-9aff-cbc76b3987ae'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/6b7d3f90-9b99-4ff3-9aff-cbc76b3987ae'"} 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 30ms","method":"POST","requestID":"03c70ad0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":30,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"09/Jul/2024:08:55:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d206bcef-0b2b-48e8-9d99-592b6551cf30? 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":"c20b68f3788b4f931e24aa4f35ad36de"} device-1 | {"level":"info","message":"GET /devices/d206bcef-0b2b-48e8-9d99-592b6551cf30? 200 22ms","method":"GET","requestID":"c20b68f3788b4f931e24aa4f35ad36de","responseTime":22,"status":200,"url":"/devices/d206bcef-0b2b-48e8-9d99-592b6551cf30?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e2f7e3e8-a5a4-4913-8ff6-4be58fc6c1b8"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:39Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71c47600-6e92-4f0e-9b90-dd081f2d7ec8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a5824c21-5ab1-4c7e-b986-625a19f88eee","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515339.3271668} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.191681,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8","object_type":"device","rebac_allow":false,"scope_allow":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":"03d059a0-3dd1-11ef-ab4a-87fddd4f273f"},"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/71c47600-6e92-4f0e-9b90-dd081f2d7ec8/signaling 200 10ms","method":"POST","requestID":"03d059a0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:39Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd206bcef-0b2b-48e8-9d99-592b6551cf30","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7e869340-a587-42b1-887b-2a83983250c4","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515339.3398921} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.078712,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d206bcef-0b2b-48e8-9d99-592b6551cf30","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d206bcef-0b2b-48e8-9d99-592b6551cf30","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"03d22e60-3dd1-11ef-ab4a-87fddd4f273f"},"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/d206bcef-0b2b-48e8-9d99-592b6551cf30/signaling 200 10ms","method":"POST","requestID":"03d22e60-3dd1-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/devices/d206bcef-0b2b-48e8-9d99-592b6551cf30/signaling"} device-1 | {"data":{"peerconnection":"6b7d3f90-9b99-4ff3-9aff-cbc76b3987ae","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/6b7d3f90-9b99-4ff3-9aff-cbc76b3987ae' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6b7d3f90-9b99-4ff3-9aff-cbc76b3987ae","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":"ce83c6ccb7597d65fcc4b04539d05296","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/d206bcef-0b2b-48e8-9d99-592b6551cf30"},{"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/71c47600-6e92-4f0e-9b90-dd081f2d7ec8"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/6b7d3f90-9b99-4ff3-9aff-cbc76b3987ae"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"ce83c6ccb7597d65fcc4b04539d05296","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"ce83c6ccb7597d65fcc4b04539d05296"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8'"} device-1 | {"data":{"peerconnection":"6b7d3f90-9b99-4ff3-9aff-cbc76b3987ae","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"6b7d3f90-9b99-4ff3-9aff-cbc76b3987ae","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/6b7d3f90-9b99-4ff3-9aff-cbc76b3987ae' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6b7d3f90-9b99-4ff3-9aff-cbc76b3987ae","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":"4b6582fe1603b781591048081b704056","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/d206bcef-0b2b-48e8-9d99-592b6551cf30"},{"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/71c47600-6e92-4f0e-9b90-dd081f2d7ec8"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/6b7d3f90-9b99-4ff3-9aff-cbc76b3987ae"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:41Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6b7d3f90-9b99-4ff3-9aff-cbc76b3987ae","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"54f23f29-8391-46c6-a9c2-1216abdec936","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515341.449035} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.612484,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6b7d3f90-9b99-4ff3-9aff-cbc76b3987ae","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/6b7d3f90-9b99-4ff3-9aff-cbc76b3987ae","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":"0513fd30-3dd1-11ef-ab4a-87fddd4f273f"},"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/6b7d3f90-9b99-4ff3-9aff-cbc76b3987ae 200 10ms","method":"GET","requestID":"0513fd30-3dd1-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/peerconnections/6b7d3f90-9b99-4ff3-9aff-cbc76b3987ae"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 38ms","method":"POST","requestID":"4b6582fe1603b781591048081b704056","responseTime":38,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch","requestID":"4b6582fe1603b781591048081b704056"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:41Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd206bcef-0b2b-48e8-9d99-592b6551cf30","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"95b6196e-264a-4ef0-8f52-4f7c7c47518c","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515341.4797533} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.793851,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d206bcef-0b2b-48e8-9d99-592b6551cf30","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d206bcef-0b2b-48e8-9d99-592b6551cf30","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"0518b820-3dd1-11ef-ab4a-87fddd4f273f"},"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/d206bcef-0b2b-48e8-9d99-592b6551cf30/signaling 200 11ms","method":"POST","requestID":"0518b820-3dd1-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/devices/d206bcef-0b2b-48e8-9d99-592b6551cf30/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:41Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71c47600-6e92-4f0e-9b90-dd081f2d7ec8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0ab2f740-3a89-4daa-90da-30ddd1625df2","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515341.4949813} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.696794,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"051adb00-3dd1-11ef-ab4a-87fddd4f273f"},"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/71c47600-6e92-4f0e-9b90-dd081f2d7ec8/signaling 200 12ms","method":"POST","requestID":"051adb00-3dd1-11ef-ab4a-87fddd4f273f","responseTime":12,"status":200,"url":"/devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0MX0.9qGf81G-r-uw42veS7DbANsMMVcB5rJbGNrFYrMapGw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b148019bceb8ce1cf4cc67858b683363","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e2f7e3e8-a5a4-4913-8ff6-4be58fc6c1b8"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:41Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.759139,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e2f7e3e8-a5a4-4913-8ff6-4be58fc6c1b8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/e2f7e3e8-a5a4-4913-8ff6-4be58fc6c1b8","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515341,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0MX0.9qGf81G-r-uw42veS7DbANsMMVcB5rJbGNrFYrMapGw"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","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":"b148019bceb8ce1cf4cc67858b683363"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/e2f7e3e8-a5a4-4913-8ff6-4be58fc6c1b8"} gateway-1 | {"time_local":"09/Jul/2024:08:55:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e2f7e3e8-a5a4-4913-8ff6-4be58fc6c1b8 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b148019bceb8ce1cf4cc67858b683363"} experiment-1 | {"level":"info","message":"GET /experiments/e2f7e3e8-a5a4-4913-8ff6-4be58fc6c1b8 200 8ms","method":"GET","requestID":"b148019bceb8ce1cf4cc67858b683363","responseTime":8,"status":200,"url":"/experiments/e2f7e3e8-a5a4-4913-8ff6-4be58fc6c1b8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0MX0.9qGf81G-r-uw42veS7DbANsMMVcB5rJbGNrFYrMapGw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"20911112e59036e6060895591226b3de","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/e2f7e3e8-a5a4-4913-8ff6-4be58fc6c1b8"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:41Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.777534,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:41Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e2f7e3e8-a5a4-4913-8ff6-4be58fc6c1b8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/e2f7e3e8-a5a4-4913-8ff6-4be58fc6c1b8","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515341,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0MX0.9qGf81G-r-uw42veS7DbANsMMVcB5rJbGNrFYrMapGw"} 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":"20911112e59036e6060895591226b3de"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e2f7e3e8-a5a4-4913-8ff6-4be58fc6c1b8"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:41Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.789705,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:41Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6b7d3f90-9b99-4ff3-9aff-cbc76b3987ae","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:http://localhost/peerconnections/6b7d3f90-9b99-4ff3-9aff-cbc76b3987ae","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515341,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0MX0.9qGf81G-r-uw42veS7DbANsMMVcB5rJbGNrFYrMapGw"} 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":"052450e0-3dd1-11ef-ab4a-87fddd4f273f"},"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/6b7d3f90-9b99-4ff3-9aff-cbc76b3987ae' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/6b7d3f90-9b99-4ff3-9aff-cbc76b3987ae' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6b7d3f90-9b99-4ff3-9aff-cbc76b3987ae","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":"e1c3a6810d6e74a2c620a2d9a995c3b0","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6b7d3f90-9b99-4ff3-9aff-cbc76b3987ae': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6b7d3f90-9b99-4ff3-9aff-cbc76b3987ae","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"e1ab7044-588c-485a-8cd1-2d112394d05e","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515341.5653794} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1b7e59a8-0ffc-4650-b09d-5fa8a3757d61","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515341.565706} 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":"closed","url":"http://localhost/devices/d206bcef-0b2b-48e8-9d99-592b6551cf30"},{"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/71c47600-6e92-4f0e-9b90-dd081f2d7ec8"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6b7d3f90-9b99-4ff3-9aff-cbc76b3987ae"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"cf3de443f73e6bb29c33c7a9ecc1c816","responseTime":1,"status":200,"url":"/auth"} 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":"052450e0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} 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/d206bcef-0b2b-48e8-9d99-592b6551cf30"},{"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/71c47600-6e92-4f0e-9b90-dd081f2d7ec8"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6b7d3f90-9b99-4ff3-9aff-cbc76b3987ae"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"6b7d3f90-9b99-4ff3-9aff-cbc76b3987ae","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/6b7d3f90-9b99-4ff3-9aff-cbc76b3987ae 204 32ms","method":"DELETE","requestID":"052450e0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":32,"status":204,"url":"/peerconnections/6b7d3f90-9b99-4ff3-9aff-cbc76b3987ae"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e2f7e3e8-a5a4-4913-8ff6-4be58fc6c1b8"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:41Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd206bcef-0b2b-48e8-9d99-592b6551cf30","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6e9bd68c-56af-4348-8ebc-88244e22a2ee","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515341.6030133} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.432999,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d206bcef-0b2b-48e8-9d99-592b6551cf30","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d206bcef-0b2b-48e8-9d99-592b6551cf30","object_type":"device","rebac_allow":false,"scope_allow":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":"052ba3e0-3dd1-11ef-ab4a-87fddd4f273f"},"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/d206bcef-0b2b-48e8-9d99-592b6551cf30/signaling 200 9ms","method":"POST","requestID":"052ba3e0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":9,"status":200,"url":"/devices/d206bcef-0b2b-48e8-9d99-592b6551cf30/signaling"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe2f7e3e8-a5a4-4913-8ff6-4be58fc6c1b8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe2f7e3e8-a5a4-4913-8ff6-4be58fc6c1b8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"7d989ec8-556d-4b59-ab00-88577b3a0ff9","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515341.609338} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bbabd2d5-6ea5-4870-8445-750de6696055","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515341.6096044} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} 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":"20911112e59036e6060895591226b3de"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:41Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71c47600-6e92-4f0e-9b90-dd081f2d7ec8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0da174b1-042c-4af6-a60f-d6f0adfdf415","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515341.6145523} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.268486,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"052d78a0-3dd1-11ef-ab4a-87fddd4f273f"},"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/71c47600-6e92-4f0e-9b90-dd081f2d7ec8/signaling 200 8ms","method":"POST","requestID":"052d78a0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":8,"status":200,"url":"/devices/71c47600-6e92-4f0e-9b90-dd081f2d7ec8/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/e2f7e3e8-a5a4-4913-8ff6-4be58fc6c1b8"} gateway-1 | {"time_local":"09/Jul/2024:08:55:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/e2f7e3e8-a5a4-4913-8ff6-4be58fc6c1b8 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.133","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"20911112e59036e6060895591226b3de"} experiment-1 | {"level":"info","message":"DELETE /experiments/e2f7e3e8-a5a4-4913-8ff6-4be58fc6c1b8 204 130ms","method":"DELETE","requestID":"20911112e59036e6060895591226b3de","responseTime":130,"status":204,"url":"/experiments/e2f7e3e8-a5a4-4913-8ff6-4be58fc6c1b8"} gateway-1 | {"time_local":"09/Jul/2024:08:55:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3229","request_time":"4.179","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"6e4979db00983cc1dd9b36aac2a7b555"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 107ms","method":"POST","requestID":"e1c3a6810d6e74a2c620a2d9a995c3b0","responseTime":107,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.110","http_referrer":"","http_user_agent":"node-fetch","requestID":"e1c3a6810d6e74a2c620a2d9a995c3b0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 107ms","method":"POST","requestID":"cf3de443f73e6bb29c33c7a9ecc1c816","responseTime":107,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.112","http_referrer":"","http_user_agent":"node-fetch","requestID":"cf3de443f73e6bb29c33c7a9ecc1c816"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0MX0.9qGf81G-r-uw42veS7DbANsMMVcB5rJbGNrFYrMapGw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"87b16ede400d58683fc0750479699d17","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:41Z"} gateway-1 | {"time_local":"09/Jul/2024:08:55:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2742","request_time":"2.672","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"6985c3563e62f438fc7768f94b87b550"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.071059,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515341,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0MX0.9qGf81G-r-uw42veS7DbANsMMVcB5rJbGNrFYrMapGw"} 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":"87b16ede400d58683fc0750479699d17"},"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/71c47600-6e92-4f0e-9b90-dd081f2d7ec8' closed"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/d206bcef-0b2b-48e8-9d99-592b6551cf30' 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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b700a9c-a47b-4394-bdbd-e41371afe769","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a6585a3b-ef90-42fb-9c27-34a309ec479a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515341.6999333} 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":"87b16ede400d58683fc0750479699d17"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"199f779c-be3c-4517-8ada-bc312862c329","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515341.7059324} 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":"87b16ede400d58683fc0750479699d17"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b700a9c-a47b-4394-bdbd-e41371afe769","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"3bc524a8-b926-44e5-b023-fbbb401570fa","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515341.7171786} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"888fd4e8-feb1-4b3e-bda7-2167a80b3ccb","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515341.7172642} 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":"87b16ede400d58683fc0750479699d17"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b700a9c-a47b-4394-bdbd-e41371afe769","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b700a9c-a47b-4394-bdbd-e41371afe769","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:41.717151779Z"}]},"request_id":"5c5eda92-78df-45b8-8728-94980bfcfad7","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515341.7218437} 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":"87b16ede400d58683fc0750479699d17"},"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":"09/Jul/2024:08:55:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"87b16ede400d58683fc0750479699d17"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"87b16ede400d58683fc0750479699d17","responseTime":46,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0MX0.9qGf81G-r-uw42veS7DbANsMMVcB5rJbGNrFYrMapGw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"103a4a27b2e7fab0aafea89220ec65b9","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:41Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.767121,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515341,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0MX0.9qGf81G-r-uw42veS7DbANsMMVcB5rJbGNrFYrMapGw"} 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":"103a4a27b2e7fab0aafea89220ec65b9"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66d7c1f9-dc9d-4844-8b04-0b7ff66088c8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"bf5ad58a-8e29-4bac-9a51-75aeb7ff56cc","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515341.7435338} 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":"103a4a27b2e7fab0aafea89220ec65b9"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8af16a16-47d9-4fba-b0ee-36815dcbb931","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515341.748581} 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":"103a4a27b2e7fab0aafea89220ec65b9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66d7c1f9-dc9d-4844-8b04-0b7ff66088c8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"d96107af-c20a-4f2b-aa07-16a9db2deb0a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515341.758621} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c90cb9a4-09f4-4f42-a49e-08abde371548","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515341.758742} 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":"103a4a27b2e7fab0aafea89220ec65b9"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66d7c1f9-dc9d-4844-8b04-0b7ff66088c8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66d7c1f9-dc9d-4844-8b04-0b7ff66088c8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:41.758599540Z"}]},"request_id":"769c9752-3a98-4f03-ac71-c8d103f610d9","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515341.7629023} 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":"103a4a27b2e7fab0aafea89220ec65b9"},"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":"09/Jul/2024:08:55:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"103a4a27b2e7fab0aafea89220ec65b9"} device-1 | {"level":"info","message":"POST /devices? 201 36ms","method":"POST","requestID":"103a4a27b2e7fab0aafea89220ec65b9","responseTime":36,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0Mn0.YdvpQbR_7-qSUWclIO3TSIjzRElPJ37RTq_fe2SftWs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"17e917e91a4e457acc8a43d172080130","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:42Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.292492,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b700a9c-a47b-4394-bdbd-e41371afe769","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/0b700a9c-a47b-4394-bdbd-e41371afe769","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515342,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0Mn0.YdvpQbR_7-qSUWclIO3TSIjzRElPJ37RTq_fe2SftWs"} 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":"17e917e91a4e457acc8a43d172080130"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b700a9c-a47b-4394-bdbd-e41371afe769","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b700a9c-a47b-4394-bdbd-e41371afe769","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:41.717151779Z"}]},"request_id":"70720942-29d5-4754-9d8d-531336978e5b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515342.2635546} 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":"17e917e91a4e457acc8a43d172080130"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"86842ac7-4387-4d50-9f34-1feec70fec19","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515342.269309} 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":"17e917e91a4e457acc8a43d172080130"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b700a9c-a47b-4394-bdbd-e41371afe769","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b700a9c-a47b-4394-bdbd-e41371afe769","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:41.717151779Z"}]},"request_id":"658875bc-3431-47ac-9d19-c3e52dd369ef","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515342.2834082} 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":"17e917e91a4e457acc8a43d172080130"},"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":"09/Jul/2024:08:55:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/0b700a9c-a47b-4394-bdbd-e41371afe769 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":"17e917e91a4e457acc8a43d172080130"} device-1 | {"level":"info","message":"PATCH /devices/0b700a9c-a47b-4394-bdbd-e41371afe769 200 36ms","method":"PATCH","requestID":"17e917e91a4e457acc8a43d172080130","responseTime":36,"status":200,"url":"/devices/0b700a9c-a47b-4394-bdbd-e41371afe769"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0Mn0.YdvpQbR_7-qSUWclIO3TSIjzRElPJ37RTq_fe2SftWs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"52bc3ff65eb23e75436f6e047f701a1d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:42Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.695893,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b700a9c-a47b-4394-bdbd-e41371afe769","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/0b700a9c-a47b-4394-bdbd-e41371afe769","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515342,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0Mn0.YdvpQbR_7-qSUWclIO3TSIjzRElPJ37RTq_fe2SftWs"} 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":"52bc3ff65eb23e75436f6e047f701a1d"},"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":"09/Jul/2024:08:55:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0b700a9c-a47b-4394-bdbd-e41371afe769/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":"52bc3ff65eb23e75436f6e047f701a1d"} device-1 | {"level":"info","message":"POST /devices/0b700a9c-a47b-4394-bdbd-e41371afe769/websocket 200 21ms","method":"POST","requestID":"52bc3ff65eb23e75436f6e047f701a1d","responseTime":21,"status":200,"url":"/devices/0b700a9c-a47b-4394-bdbd-e41371afe769/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0b700a9c-a47b-4394-bdbd-e41371afe769' 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":"ac78aad7237808c1db9c315431016593","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"09/Jul/2024:08:55:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8/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":"ac78aad7237808c1db9c315431016593"} device-1 | {"level":"info","message":"OPTIONS /devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8/websocket 200 2ms","method":"OPTIONS","requestID":"ac78aad7237808c1db9c315431016593","responseTime":2,"status":200,"url":"/devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0M30.9ymKVS899J0Ql_MaYebFhZAwFcg8bk310CzrUYUk9n8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f86db3b3d2cc5e143ac3c912fd112633","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:43Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.724019,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:43Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515343,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0M30.9ymKVS899J0Ql_MaYebFhZAwFcg8bk310CzrUYUk9n8"} 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":"f86db3b3d2cc5e143ac3c912fd112633"},"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":"09/Jul/2024:08:55:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.029","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f86db3b3d2cc5e143ac3c912fd112633"} device-1 | {"level":"info","message":"POST /devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8/websocket 200 22ms","method":"POST","requestID":"f86db3b3d2cc5e143ac3c912fd112633","responseTime":22,"status":200,"url":"/devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0M30.9ymKVS899J0Ql_MaYebFhZAwFcg8bk310CzrUYUk9n8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"89fd98b175a2430ab946ad3a72abdb3d","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:43Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.430288,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b700a9c-a47b-4394-bdbd-e41371afe769","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/0b700a9c-a47b-4394-bdbd-e41371afe769","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515343,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0M30.9ymKVS899J0Ql_MaYebFhZAwFcg8bk310CzrUYUk9n8"} 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":"89fd98b175a2430ab946ad3a72abdb3d"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b700a9c-a47b-4394-bdbd-e41371afe769","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b700a9c-a47b-4394-bdbd-e41371afe769","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:41.717151779Z"}]},"request_id":"62f76710-7cbc-4a65-9c04-d509928bad85","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515343.8266149} 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":"89fd98b175a2430ab946ad3a72abdb3d"},"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":"09/Jul/2024:08:55:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0b700a9c-a47b-4394-bdbd-e41371afe769? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"89fd98b175a2430ab946ad3a72abdb3d"} device-1 | {"level":"info","message":"GET /devices/0b700a9c-a47b-4394-bdbd-e41371afe769? 200 23ms","method":"GET","requestID":"89fd98b175a2430ab946ad3a72abdb3d","responseTime":23,"status":200,"url":"/devices/0b700a9c-a47b-4394-bdbd-e41371afe769?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0M30.9ymKVS899J0Ql_MaYebFhZAwFcg8bk310CzrUYUk9n8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"5b23f3c7f5df51b9311f22817ea84b20","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:43Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.767315,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515343,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0M30.9ymKVS899J0Ql_MaYebFhZAwFcg8bk310CzrUYUk9n8"} 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":"5b23f3c7f5df51b9311f22817ea84b20"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66d7c1f9-dc9d-4844-8b04-0b7ff66088c8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66d7c1f9-dc9d-4844-8b04-0b7ff66088c8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:41.758599540Z"}]},"request_id":"464cdf98-7e25-4fc3-93cd-908fc7a8671b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515343.8570323} 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":"5b23f3c7f5df51b9311f22817ea84b20"},"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":"09/Jul/2024:08:55:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8? 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":"5b23f3c7f5df51b9311f22817ea84b20"} device-1 | {"level":"info","message":"GET /devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8? 200 19ms","method":"GET","requestID":"5b23f3c7f5df51b9311f22817ea84b20","responseTime":19,"status":200,"url":"/devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0M30.9ymKVS899J0Ql_MaYebFhZAwFcg8bk310CzrUYUk9n8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"dd3147177945f231db19d4d6e7324f18","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:44070","level":"info","msg":"Received request.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:43Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":2.172323,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:43Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515343,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0M30.9ymKVS899J0Ql_MaYebFhZAwFcg8bk310CzrUYUk9n8"} 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":"dd3147177945f231db19d4d6e7324f18"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/25bf3fc0-557f-41a7-a7b7-cc1bd4291b52"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/25bf3fc0-557f-41a7-a7b7-cc1bd4291b52"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/25bf3fc0-557f-41a7-a7b7-cc1bd4291b52"},"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:44070","level":"info","msg":"Received request.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:43Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.55641,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b700a9c-a47b-4394-bdbd-e41371afe769","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/0b700a9c-a47b-4394-bdbd-e41371afe769","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515343,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0M30.9ymKVS899J0Ql_MaYebFhZAwFcg8bk310CzrUYUk9n8"} 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":"068d56c0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:48814","level":"info","msg":"Received request.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:43Z"} authorization-1 | {"client_addr":"127.0.0.1:48814","level":"info","msg":"Sent response.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.071902,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515343,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0M30.9ymKVS899J0Ql_MaYebFhZAwFcg8bk310CzrUYUk9n8"} 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":"068da4e0-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b700a9c-a47b-4394-bdbd-e41371afe769","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b700a9c-a47b-4394-bdbd-e41371afe769","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:41.717151779Z"}]},"request_id":"88390569-a524-4523-adcf-0852e92f5432","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515343.9290724} 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":"068d56c0-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66d7c1f9-dc9d-4844-8b04-0b7ff66088c8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66d7c1f9-dc9d-4844-8b04-0b7ff66088c8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:41.758599540Z"}]},"request_id":"6c1a9ea9-b09b-4de6-9610-90c17364f8ee","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515343.9331555} 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":"068da4e0-3dd1-11ef-ab4a-87fddd4f273f"},"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/0b700a9c-a47b-4394-bdbd-e41371afe769? 200 21ms","method":"GET","requestID":"068d56c0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":21,"status":200,"url":"/devices/0b700a9c-a47b-4394-bdbd-e41371afe769?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8? 200 22ms","method":"GET","requestID":"068da4e0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":22,"status":200,"url":"/devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/25bf3fc0-557f-41a7-a7b7-cc1bd4291b52"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/25bf3fc0-557f-41a7-a7b7-cc1bd4291b52"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/25bf3fc0-557f-41a7-a7b7-cc1bd4291b52"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/25bf3fc0-557f-41a7-a7b7-cc1bd4291b52"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/25bf3fc0-557f-41a7-a7b7-cc1bd4291b52"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/25bf3fc0-557f-41a7-a7b7-cc1bd4291b52"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/25bf3fc0-557f-41a7-a7b7-cc1bd4291b52"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/25bf3fc0-557f-41a7-a7b7-cc1bd4291b52"},"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/25bf3fc0-557f-41a7-a7b7-cc1bd4291b52"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:43Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.98443,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:43Z"} authorization-1 | {"client_addr":"127.0.0.1:48814","level":"info","msg":"Received request.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b700a9c-a47b-4394-bdbd-e41371afe769","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/0b700a9c-a47b-4394-bdbd-e41371afe769","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515343,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0M30.9ymKVS899J0Ql_MaYebFhZAwFcg8bk310CzrUYUk9n8"} 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":"06987a50-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:48814","level":"info","msg":"Sent response.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.305938,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515343,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0M30.9ymKVS899J0Ql_MaYebFhZAwFcg8bk310CzrUYUk9n8"} 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":"0698c870-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:44Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.03346,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:44Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b700a9c-a47b-4394-bdbd-e41371afe769","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"10ccef4e-8b3e-4af1-a304-ef1891b8c2c6","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515344.007891} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b700a9c-a47b-4394-bdbd-e41371afe769","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0b700a9c-a47b-4394-bdbd-e41371afe769","object_type":"device","rebac_allow":false,"scope_allow":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":"06993da0-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b700a9c-a47b-4394-bdbd-e41371afe769","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b700a9c-a47b-4394-bdbd-e41371afe769","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:41.717151779Z"}]},"request_id":"bf5a5a79-41c1-44ee-a0a0-3ac824a69e50","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515344.0105255} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66d7c1f9-dc9d-4844-8b04-0b7ff66088c8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66d7c1f9-dc9d-4844-8b04-0b7ff66088c8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:41.758599540Z"}]},"request_id":"057f9b61-15c4-4ebe-b841-8283c3064e51","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515344.0123158} 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":"06987a50-3dd1-11ef-ab4a-87fddd4f273f"},"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":"0698c870-3dd1-11ef-ab4a-87fddd4f273f"},"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/0b700a9c-a47b-4394-bdbd-e41371afe769/signaling 200 29ms","method":"POST","requestID":"06993da0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":29,"status":200,"url":"/devices/0b700a9c-a47b-4394-bdbd-e41371afe769/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F25bf3fc0-557f-41a7-a7b7-cc1bd4291b52#owner@http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F25bf3fc0-557f-41a7-a7b7-cc1bd4291b52","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"41a45d78-2e24-4d77-b913-2916a67d2e74","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515344.0247707} device-1 | {"level":"info","message":"GET /devices/0b700a9c-a47b-4394-bdbd-e41371afe769? 200 36ms","method":"GET","requestID":"06987a50-3dd1-11ef-ab4a-87fddd4f273f","responseTime":36,"status":200,"url":"/devices/0b700a9c-a47b-4394-bdbd-e41371afe769?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3c99c179-905c-4542-9198-e4cf6c52e258","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515344.025162} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","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":"dd3147177945f231db19d4d6e7324f18"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":27}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8? 200 36ms","method":"GET","requestID":"0698c870-3dd1-11ef-ab4a-87fddd4f273f","responseTime":36,"status":200,"url":"/devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8?"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:44Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66d7c1f9-dc9d-4844-8b04-0b7ff66088c8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c9dddb4f-9532-470d-8002-a41fea5f5685","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515344.0308764} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.258335,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8","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":"069e1fa0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:44Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/25bf3fc0-557f-41a7-a7b7-cc1bd4291b52","user":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"09/Jul/2024:08:55:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.170","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dd3147177945f231db19d4d6e7324f18"} experiment-1 | {"level":"info","message":"POST /experiments? 201 164ms","method":"POST","requestID":"dd3147177945f231db19d4d6e7324f18","responseTime":164,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8/signaling 200 10ms","method":"POST","requestID":"069e1fa0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8/signaling"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b700a9c-a47b-4394-bdbd-e41371afe769","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3e733ca0-9496-485a-890c-77bb416cd1ac","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515344.0370343} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.260654,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b700a9c-a47b-4394-bdbd-e41371afe769","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0b700a9c-a47b-4394-bdbd-e41371afe769","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"069f0a00-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0NH0.RfFPe-NEp3fTPphzC2VlNP8fZcG_RKoMouRl23UznGw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c74a66951a1fe987b8fdd1758304c293","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/0b700a9c-a47b-4394-bdbd-e41371afe769/signaling 200 11ms","method":"POST","requestID":"069f0a00-3dd1-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/devices/0b700a9c-a47b-4394-bdbd-e41371afe769/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:44Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.794656,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:44Z"} authorization-1 | {"client_addr":"127.0.0.1:48814","level":"info","msg":"Received request.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b700a9c-a47b-4394-bdbd-e41371afe769","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/0b700a9c-a47b-4394-bdbd-e41371afe769","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515344,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0NH0.RfFPe-NEp3fTPphzC2VlNP8fZcG_RKoMouRl23UznGw"} 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":"c74a66951a1fe987b8fdd1758304c293"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66d7c1f9-dc9d-4844-8b04-0b7ff66088c8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fa71ea70-60f0-484d-9a1f-6691f95d5aad","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515344.0492983} authorization-1 | {"client_addr":"127.0.0.1:48814","level":"info","msg":"Sent response.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.165638,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8","object_type":"device","rebac_allow":false,"scope_allow":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":"06a105d0-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b700a9c-a47b-4394-bdbd-e41371afe769","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b700a9c-a47b-4394-bdbd-e41371afe769","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:41.717151779Z"}]},"request_id":"f452195e-57c4-4036-b71c-8f9ddaa8ddc1","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515344.0535443} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8/signaling 200 9ms","method":"POST","requestID":"06a105d0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":9,"status":200,"url":"/devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8/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":"c74a66951a1fe987b8fdd1758304c293"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/25bf3fc0-557f-41a7-a7b7-cc1bd4291b52"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/25bf3fc0-557f-41a7-a7b7-cc1bd4291b52"},"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":"a2b7025b-ee17-42e4-a88c-ffaa878ac82e"},{"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":"e9c478fa-fca4-42c3-b788-0c303ce020d5"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"603e99dd-bcf2-4302-a548-b1ebf86c484d"}]},"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/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8"},{"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/0b700a9c-a47b-4394-bdbd-e41371afe769"}],"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":"09/Jul/2024:08:55:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0b700a9c-a47b-4394-bdbd-e41371afe769? 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":"c74a66951a1fe987b8fdd1758304c293"} device-1 | {"level":"info","message":"GET /devices/0b700a9c-a47b-4394-bdbd-e41371afe769? 200 16ms","method":"GET","requestID":"c74a66951a1fe987b8fdd1758304c293","responseTime":16,"status":200,"url":"/devices/0b700a9c-a47b-4394-bdbd-e41371afe769?"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:44Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.941742,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515343,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0M30.9ymKVS899J0Ql_MaYebFhZAwFcg8bk310CzrUYUk9n8"} 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":"06a2da90-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0NH0.RfFPe-NEp3fTPphzC2VlNP8fZcG_RKoMouRl23UznGw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b3b86410bf7a09fd6d37fe859a1aefcf","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:44Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.689378,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515344,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0NH0.RfFPe-NEp3fTPphzC2VlNP8fZcG_RKoMouRl23UznGw"} 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":"b3b86410bf7a09fd6d37fe859a1aefcf"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","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%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"f3f8ee5c-3418-4dc4-b6c2-2845c698f10f","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515344.0748365} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a5a18d5a-a3d4-49be-a3b0-62845b5d38fb","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515344.075226} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66d7c1f9-dc9d-4844-8b04-0b7ff66088c8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66d7c1f9-dc9d-4844-8b04-0b7ff66088c8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:41.758599540Z"}]},"request_id":"1c9a3fa7-0590-4b6d-887e-2cf91a3c2220","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515344.075861} 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":"06a2da90-3dd1-11ef-ab4a-87fddd4f273f"},"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":"b3b86410bf7a09fd6d37fe859a1aefcf"},"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":"09/Jul/2024:08:55:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8? 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":"b3b86410bf7a09fd6d37fe859a1aefcf"} device-1 | {"level":"info","message":"GET /devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8? 200 13ms","method":"GET","requestID":"b3b86410bf7a09fd6d37fe859a1aefcf","responseTime":13,"status":200,"url":"/devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8?"} 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/406738d7-1259-467d-aaae-b2deab7e4c03'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/406738d7-1259-467d-aaae-b2deab7e4c03'"} 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":"06a2da90-3dd1-11ef-ab4a-87fddd4f273f","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/25bf3fc0-557f-41a7-a7b7-cc1bd4291b52"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:44Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b700a9c-a47b-4394-bdbd-e41371afe769","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"90948cc4-c445-4c0e-9d58-4d71250546eb","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515344.1261675} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.130037,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b700a9c-a47b-4394-bdbd-e41371afe769","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0b700a9c-a47b-4394-bdbd-e41371afe769","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"06ac9e90-3dd1-11ef-ab4a-87fddd4f273f"},"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/0b700a9c-a47b-4394-bdbd-e41371afe769/signaling 200 9ms","method":"POST","requestID":"06ac9e90-3dd1-11ef-ab4a-87fddd4f273f","responseTime":9,"status":200,"url":"/devices/0b700a9c-a47b-4394-bdbd-e41371afe769/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:44Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66d7c1f9-dc9d-4844-8b04-0b7ff66088c8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"25880622-fcc3-4139-b9a7-c2239f38d8d5","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515344.1371436} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.819015,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"06ae4c40-3dd1-11ef-ab4a-87fddd4f273f"},"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/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8/signaling 200 10ms","method":"POST","requestID":"06ae4c40-3dd1-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8/signaling"} device-1 | {"data":{"peerconnection":"406738d7-1259-467d-aaae-b2deab7e4c03","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/406738d7-1259-467d-aaae-b2deab7e4c03' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"406738d7-1259-467d-aaae-b2deab7e4c03","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8'"} 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":"65b9f3e987b5c51c67c841378bed20f9","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/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8"},{"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/0b700a9c-a47b-4394-bdbd-e41371afe769"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/406738d7-1259-467d-aaae-b2deab7e4c03"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"65b9f3e987b5c51c67c841378bed20f9","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55: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.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"65b9f3e987b5c51c67c841378bed20f9"} device-1 | {"data":{"peerconnection":"406738d7-1259-467d-aaae-b2deab7e4c03","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"406738d7-1259-467d-aaae-b2deab7e4c03","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/406738d7-1259-467d-aaae-b2deab7e4c03' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"406738d7-1259-467d-aaae-b2deab7e4c03","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":"1b974dabc1e10530653eb0dc078797c7","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/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8"},{"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/0b700a9c-a47b-4394-bdbd-e41371afe769"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/406738d7-1259-467d-aaae-b2deab7e4c03"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:46Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F406738d7-1259-467d-aaae-b2deab7e4c03","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a1cd404a-9765-4806-b6e1-137e81d3b327","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515346.2293222} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.058447,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/406738d7-1259-467d-aaae-b2deab7e4c03","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/406738d7-1259-467d-aaae-b2deab7e4c03","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":"07ed5bf0-3dd1-11ef-ab4a-87fddd4f273f"},"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/406738d7-1259-467d-aaae-b2deab7e4c03 200 11ms","method":"GET","requestID":"07ed5bf0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/peerconnections/406738d7-1259-467d-aaae-b2deab7e4c03"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 45ms","method":"POST","requestID":"1b974dabc1e10530653eb0dc078797c7","responseTime":45,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55: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.048","http_referrer":"","http_user_agent":"node-fetch","requestID":"1b974dabc1e10530653eb0dc078797c7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:46Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66d7c1f9-dc9d-4844-8b04-0b7ff66088c8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a481ac39-c93c-442a-b47d-8bc716819f51","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515346.26601} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.687299,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"07f32850-3dd1-11ef-ab4a-87fddd4f273f"},"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/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8/signaling 200 9ms","method":"POST","requestID":"07f32850-3dd1-11ef-ab4a-87fddd4f273f","responseTime":9,"status":200,"url":"/devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:46Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b700a9c-a47b-4394-bdbd-e41371afe769","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a938f2c3-5ba2-412d-8ec0-044211acab5f","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515346.2789793} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.650575,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b700a9c-a47b-4394-bdbd-e41371afe769","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0b700a9c-a47b-4394-bdbd-e41371afe769","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"07f4fd10-3dd1-11ef-ab4a-87fddd4f273f"},"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/0b700a9c-a47b-4394-bdbd-e41371afe769/signaling 200 10ms","method":"POST","requestID":"07f4fd10-3dd1-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/devices/0b700a9c-a47b-4394-bdbd-e41371afe769/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0Nn0.9-N2YqluuFIFgXNTz1QUDMrR0n2jW3CtjpTQK1RDfAA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"2f11851c946f59b27f7d5b4af49ad85e","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/25bf3fc0-557f-41a7-a7b7-cc1bd4291b52"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:46Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.053662,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/25bf3fc0-557f-41a7-a7b7-cc1bd4291b52","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/25bf3fc0-557f-41a7-a7b7-cc1bd4291b52","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515346,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0Nn0.9-N2YqluuFIFgXNTz1QUDMrR0n2jW3CtjpTQK1RDfAA"} 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":"2f11851c946f59b27f7d5b4af49ad85e"},"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/25bf3fc0-557f-41a7-a7b7-cc1bd4291b52"} gateway-1 | {"time_local":"09/Jul/2024:08:55:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/25bf3fc0-557f-41a7-a7b7-cc1bd4291b52 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2f11851c946f59b27f7d5b4af49ad85e"} experiment-1 | {"level":"info","message":"GET /experiments/25bf3fc0-557f-41a7-a7b7-cc1bd4291b52 200 11ms","method":"GET","requestID":"2f11851c946f59b27f7d5b4af49ad85e","responseTime":11,"status":200,"url":"/experiments/25bf3fc0-557f-41a7-a7b7-cc1bd4291b52"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0Nn0.9-N2YqluuFIFgXNTz1QUDMrR0n2jW3CtjpTQK1RDfAA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"23abb90b46873655e15e6818ac516aaf","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/25bf3fc0-557f-41a7-a7b7-cc1bd4291b52"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:46Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.024072,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:46Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/25bf3fc0-557f-41a7-a7b7-cc1bd4291b52","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/25bf3fc0-557f-41a7-a7b7-cc1bd4291b52","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515346,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0Nn0.9-N2YqluuFIFgXNTz1QUDMrR0n2jW3CtjpTQK1RDfAA"} 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":"23abb90b46873655e15e6818ac516aaf"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/25bf3fc0-557f-41a7-a7b7-cc1bd4291b52"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:46Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.616525,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:46Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/406738d7-1259-467d-aaae-b2deab7e4c03","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:http://localhost/peerconnections/406738d7-1259-467d-aaae-b2deab7e4c03","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515346,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0Nn0.9-N2YqluuFIFgXNTz1QUDMrR0n2jW3CtjpTQK1RDfAA"} 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":"08006ec0-3dd1-11ef-ab4a-87fddd4f273f"},"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/406738d7-1259-467d-aaae-b2deab7e4c03' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/406738d7-1259-467d-aaae-b2deab7e4c03' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"406738d7-1259-467d-aaae-b2deab7e4c03","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":"c7dd86476123f36b882b28bef0090770","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F406738d7-1259-467d-aaae-b2deab7e4c03': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F406738d7-1259-467d-aaae-b2deab7e4c03","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"e07831ed-85df-41f2-a4c3-40d574b91a02","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515346.3663442} 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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6a9c69f3-f6d4-4bc2-ac7b-21fb843513f7","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515346.3667192} 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/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8"},{"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/0b700a9c-a47b-4394-bdbd-e41371afe769"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/406738d7-1259-467d-aaae-b2deab7e4c03"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"425a56362cb6190b2bbeeea9e1974416","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/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8"},{"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/0b700a9c-a47b-4394-bdbd-e41371afe769"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/406738d7-1259-467d-aaae-b2deab7e4c03"}}},"level":"info","message":"received a callback"} 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":"08006ec0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"data":{"peerconnection":"406738d7-1259-467d-aaae-b2deab7e4c03","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/406738d7-1259-467d-aaae-b2deab7e4c03 204 36ms","method":"DELETE","requestID":"08006ec0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":36,"status":204,"url":"/peerconnections/406738d7-1259-467d-aaae-b2deab7e4c03"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/25bf3fc0-557f-41a7-a7b7-cc1bd4291b52"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:46Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66d7c1f9-dc9d-4844-8b04-0b7ff66088c8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0599b6d3-afa3-4029-8ada-4b1e35eb770b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515346.4110162} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.077605,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"0808fa40-3dd1-11ef-ab4a-87fddd4f273f"},"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/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8/signaling 200 14ms","method":"POST","requestID":"0808fa40-3dd1-11ef-ab4a-87fddd4f273f","responseTime":14,"status":200,"url":"/devices/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8/signaling"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F25bf3fc0-557f-41a7-a7b7-cc1bd4291b52': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F25bf3fc0-557f-41a7-a7b7-cc1bd4291b52","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"b1d5f43d-c7de-4b5c-96e6-32636fb26bdb","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515346.4191449} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c33461ed-4dca-42f7-bd87-11ce571350ca","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515346.4196436} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} 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":"23abb90b46873655e15e6818ac516aaf"},"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:44070","level":"info","msg":"Received request.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:46Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b700a9c-a47b-4394-bdbd-e41371afe769","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8621f5f9-33f0-4a65-b7e7-b9a8f581f8bb","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515346.4269862} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.38946,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b700a9c-a47b-4394-bdbd-e41371afe769","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0b700a9c-a47b-4394-bdbd-e41371afe769","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"080b9250-3dd1-11ef-ab4a-87fddd4f273f"},"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/0b700a9c-a47b-4394-bdbd-e41371afe769/signaling 200 13ms","method":"POST","requestID":"080b9250-3dd1-11ef-ab4a-87fddd4f273f","responseTime":13,"status":200,"url":"/devices/0b700a9c-a47b-4394-bdbd-e41371afe769/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/25bf3fc0-557f-41a7-a7b7-cc1bd4291b52"} gateway-1 | {"time_local":"09/Jul/2024:08:55:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/25bf3fc0-557f-41a7-a7b7-cc1bd4291b52 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.157","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"23abb90b46873655e15e6818ac516aaf"} experiment-1 | {"level":"info","message":"DELETE /experiments/25bf3fc0-557f-41a7-a7b7-cc1bd4291b52 204 153ms","method":"DELETE","requestID":"23abb90b46873655e15e6818ac516aaf","responseTime":153,"status":204,"url":"/experiments/25bf3fc0-557f-41a7-a7b7-cc1bd4291b52"} gateway-1 | {"time_local":"09/Jul/2024:08:55:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2838","request_time":"4.171","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"a06ef55f545661ecc2e693721dbee20f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 125ms","method":"POST","requestID":"c7dd86476123f36b882b28bef0090770","responseTime":125,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0Nn0.9-N2YqluuFIFgXNTz1QUDMrR0n2jW3CtjpTQK1RDfAA","level":"info","message":"auth send jwt"} gateway-1 | {"time_local":"09/Jul/2024:08:55: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.129","http_referrer":"","http_user_agent":"node-fetch","requestID":"c7dd86476123f36b882b28bef0090770"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ea330409cc7b2b354a96afa7c181cc58","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 125ms","method":"POST","requestID":"425a56362cb6190b2bbeeea9e1974416","responseTime":125,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55: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.129","http_referrer":"","http_user_agent":"node-fetch","requestID":"425a56362cb6190b2bbeeea9e1974416"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"09/Jul/2024:08:55:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2745","request_time":"2.709","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1091de904f24df5028183294067980df"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:46Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.14745,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:46Z"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/0b700a9c-a47b-4394-bdbd-e41371afe769' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515346,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0Nn0.9-N2YqluuFIFgXNTz1QUDMrR0n2jW3CtjpTQK1RDfAA"} 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":"ea330409cc7b2b354a96afa7c181cc58"},"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/66d7c1f9-dc9d-4844-8b04-0b7ff66088c8' 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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F686d2110-ff0d-4aa8-baaa-c5a9893b1964","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1b927996-4092-4214-9e15-1dcbab2ac0f8","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515346.5168586} 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":"ea330409cc7b2b354a96afa7c181cc58"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"01ee8079-ff2b-4a22-9a05-9920f7a98591","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515346.5227141} 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":"ea330409cc7b2b354a96afa7c181cc58"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F686d2110-ff0d-4aa8-baaa-c5a9893b1964","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"09058589-aa65-4bfd-8cfc-a74c0b520231","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515346.533859} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d284c292-4898-4731-9339-bffa2c1bc4ec","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515346.534198} 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":"ea330409cc7b2b354a96afa7c181cc58"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F686d2110-ff0d-4aa8-baaa-c5a9893b1964","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F686d2110-ff0d-4aa8-baaa-c5a9893b1964","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:46.533837333Z"}]},"request_id":"824c54fa-3338-4693-ac78-1f7dbde4ba6a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515346.5386045} 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":"ea330409cc7b2b354a96afa7c181cc58"},"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":"09/Jul/2024:08:55: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.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ea330409cc7b2b354a96afa7c181cc58"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"ea330409cc7b2b354a96afa7c181cc58","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0Nn0.9-N2YqluuFIFgXNTz1QUDMrR0n2jW3CtjpTQK1RDfAA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a34a91abaac11d9974eba966c7488c47","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:46Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.878148,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515346,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0Nn0.9-N2YqluuFIFgXNTz1QUDMrR0n2jW3CtjpTQK1RDfAA"} 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":"a34a91abaac11d9974eba966c7488c47"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f36ccb5-67b8-4638-9270-f53f80d05321","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"10576740-a850-4dc4-aebc-08269ac07fd3","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515346.568717} 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":"a34a91abaac11d9974eba966c7488c47"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"55f633f1-c737-463f-80d6-6b117c9ea6ab","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515346.573392} 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":"a34a91abaac11d9974eba966c7488c47"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f36ccb5-67b8-4638-9270-f53f80d05321","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"f88183e8-f926-40dd-8163-83e52b19daea","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515346.5832155} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"205d551f-11bf-4148-b63b-3783325bb003","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515346.5834937} 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":"a34a91abaac11d9974eba966c7488c47"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f36ccb5-67b8-4638-9270-f53f80d05321","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f36ccb5-67b8-4638-9270-f53f80d05321","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:46.583194514Z"}]},"request_id":"ae2c098f-41ed-40c3-abba-791f3e1f6421","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515346.587123} 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":"a34a91abaac11d9974eba966c7488c47"},"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":"09/Jul/2024:08:55:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a34a91abaac11d9974eba966c7488c47"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"a34a91abaac11d9974eba966c7488c47","responseTime":42,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0N30.iUVUqOF-8uLgfNrpKaszb4XiutOdacJknuFhi895Pxg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6ab6d9e973911a41e61105f871933623","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:47Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.537212,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515347,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0N30.iUVUqOF-8uLgfNrpKaszb4XiutOdacJknuFhi895Pxg"} 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":"6ab6d9e973911a41e61105f871933623"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F686d2110-ff0d-4aa8-baaa-c5a9893b1964","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F686d2110-ff0d-4aa8-baaa-c5a9893b1964","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:46.533837333Z"}]},"request_id":"0f780fab-e23a-42bb-87b2-93a9ec915e17","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515347.090237} 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":"6ab6d9e973911a41e61105f871933623"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0a19d691-ab31-4a5e-89b3-182754d93ec9","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515347.0991113} 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":"6ab6d9e973911a41e61105f871933623"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F686d2110-ff0d-4aa8-baaa-c5a9893b1964","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F686d2110-ff0d-4aa8-baaa-c5a9893b1964","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:46.533837333Z"}]},"request_id":"bc958c03-a567-4379-973e-10e94595d828","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515347.152306} 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":"6ab6d9e973911a41e61105f871933623"},"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/686d2110-ff0d-4aa8-baaa-c5a9893b1964 200 80ms","method":"PATCH","requestID":"6ab6d9e973911a41e61105f871933623","responseTime":80,"status":200,"url":"/devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964"} gateway-1 | {"time_local":"09/Jul/2024:08:55:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.085","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"6ab6d9e973911a41e61105f871933623"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0N30.iUVUqOF-8uLgfNrpKaszb4XiutOdacJknuFhi895Pxg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"29faf67cc93343dd4fcf2d83e771f916","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:47Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.187796,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515347,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0N30.iUVUqOF-8uLgfNrpKaszb4XiutOdacJknuFhi895Pxg"} 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":"29faf67cc93343dd4fcf2d83e771f916"},"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":"09/Jul/2024:08:55:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964/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":"29faf67cc93343dd4fcf2d83e771f916"} device-1 | {"level":"info","message":"POST /devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964/websocket 200 22ms","method":"POST","requestID":"29faf67cc93343dd4fcf2d83e771f916","responseTime":22,"status":200,"url":"/devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964' 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":"992307f378356eaa6f94eff39660f116","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"09/Jul/2024:08:55:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/9f36ccb5-67b8-4638-9270-f53f80d05321/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":"992307f378356eaa6f94eff39660f116"} device-1 | {"level":"info","message":"OPTIONS /devices/9f36ccb5-67b8-4638-9270-f53f80d05321/websocket 200 2ms","method":"OPTIONS","requestID":"992307f378356eaa6f94eff39660f116","responseTime":2,"status":200,"url":"/devices/9f36ccb5-67b8-4638-9270-f53f80d05321/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0OH0.VnRG8w0tS5pKIlgIYXOOUhqYjmBh-cW5i4QDK-kkZQo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"88fcb10a939da1240e19062edb323a7c","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:48Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.261583,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:48Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f36ccb5-67b8-4638-9270-f53f80d05321","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/9f36ccb5-67b8-4638-9270-f53f80d05321","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515348,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0OH0.VnRG8w0tS5pKIlgIYXOOUhqYjmBh-cW5i4QDK-kkZQo"} 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":"88fcb10a939da1240e19062edb323a7c"},"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":"09/Jul/2024:08:55:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9f36ccb5-67b8-4638-9270-f53f80d05321/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.033","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"88fcb10a939da1240e19062edb323a7c"} device-1 | {"level":"info","message":"POST /devices/9f36ccb5-67b8-4638-9270-f53f80d05321/websocket 200 25ms","method":"POST","requestID":"88fcb10a939da1240e19062edb323a7c","responseTime":25,"status":200,"url":"/devices/9f36ccb5-67b8-4638-9270-f53f80d05321/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/9f36ccb5-67b8-4638-9270-f53f80d05321' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0OH0.VnRG8w0tS5pKIlgIYXOOUhqYjmBh-cW5i4QDK-kkZQo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b912f250b9c42660ccc7fdd24789ea92","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:48Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.178197,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515348,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0OH0.VnRG8w0tS5pKIlgIYXOOUhqYjmBh-cW5i4QDK-kkZQo"} 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":"b912f250b9c42660ccc7fdd24789ea92"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F686d2110-ff0d-4aa8-baaa-c5a9893b1964","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F686d2110-ff0d-4aa8-baaa-c5a9893b1964","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:46.533837333Z"}]},"request_id":"efd81d20-a23f-44e3-b207-2948429b58aa","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515348.7029395} 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":"b912f250b9c42660ccc7fdd24789ea92"},"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":"09/Jul/2024:08:55:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964? 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":"b912f250b9c42660ccc7fdd24789ea92"} device-1 | {"level":"info","message":"GET /devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964? 200 21ms","method":"GET","requestID":"b912f250b9c42660ccc7fdd24789ea92","responseTime":21,"status":200,"url":"/devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0OH0.VnRG8w0tS5pKIlgIYXOOUhqYjmBh-cW5i4QDK-kkZQo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"6ff8b6254da40b686c556f4f784c6077","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:48Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.315451,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f36ccb5-67b8-4638-9270-f53f80d05321","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/9f36ccb5-67b8-4638-9270-f53f80d05321","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515348,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0OH0.VnRG8w0tS5pKIlgIYXOOUhqYjmBh-cW5i4QDK-kkZQo"} 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":"6ff8b6254da40b686c556f4f784c6077"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f36ccb5-67b8-4638-9270-f53f80d05321","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f36ccb5-67b8-4638-9270-f53f80d05321","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:46.583194514Z"}]},"request_id":"2d58ddf4-8029-4eca-8be1-be2ff317a1cb","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515348.7325418} 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":"6ff8b6254da40b686c556f4f784c6077"},"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/9f36ccb5-67b8-4638-9270-f53f80d05321? 200 17ms","method":"GET","requestID":"6ff8b6254da40b686c556f4f784c6077","responseTime":17,"status":200,"url":"/devices/9f36ccb5-67b8-4638-9270-f53f80d05321?"} gateway-1 | {"time_local":"09/Jul/2024:08:55:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9f36ccb5-67b8-4638-9270-f53f80d05321? 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":"6ff8b6254da40b686c556f4f784c6077"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0OH0.VnRG8w0tS5pKIlgIYXOOUhqYjmBh-cW5i4QDK-kkZQo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"dd5097608005fa0d09a3048b2655639b","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:44070","level":"info","msg":"Received request.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:48Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.227827,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515348,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0OH0.VnRG8w0tS5pKIlgIYXOOUhqYjmBh-cW5i4QDK-kkZQo"} 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":"dd5097608005fa0d09a3048b2655639b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1e67f024-c731-4877-bb9c-3fb3795fdfa8"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1e67f024-c731-4877-bb9c-3fb3795fdfa8"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1e67f024-c731-4877-bb9c-3fb3795fdfa8"},"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:44070","level":"info","msg":"Received request.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:48Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.588843,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515348,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0OH0.VnRG8w0tS5pKIlgIYXOOUhqYjmBh-cW5i4QDK-kkZQo"} 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":"09753470-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Received request.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:48Z"} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Sent response.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.2394,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f36ccb5-67b8-4638-9270-f53f80d05321","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/9f36ccb5-67b8-4638-9270-f53f80d05321","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515348,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0OH0.VnRG8w0tS5pKIlgIYXOOUhqYjmBh-cW5i4QDK-kkZQo"} 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":"09758290-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F686d2110-ff0d-4aa8-baaa-c5a9893b1964","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F686d2110-ff0d-4aa8-baaa-c5a9893b1964","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:46.533837333Z"}]},"request_id":"29e2b180-074e-4ab5-91b0-a5c70ecb2614","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515348.7995155} 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":"09753470-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f36ccb5-67b8-4638-9270-f53f80d05321","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f36ccb5-67b8-4638-9270-f53f80d05321","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:46.583194514Z"}]},"request_id":"9c0a801f-10d3-4698-9142-1ffd3d106712","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515348.8029258} 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":"09758290-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"GET /devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964? 200 13ms","method":"GET","requestID":"09753470-3dd1-11ef-ab4a-87fddd4f273f","responseTime":13,"status":200,"url":"/devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/9f36ccb5-67b8-4638-9270-f53f80d05321? 200 16ms","method":"GET","requestID":"09758290-3dd1-11ef-ab4a-87fddd4f273f","responseTime":16,"status":200,"url":"/devices/9f36ccb5-67b8-4638-9270-f53f80d05321?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1e67f024-c731-4877-bb9c-3fb3795fdfa8"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1e67f024-c731-4877-bb9c-3fb3795fdfa8"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1e67f024-c731-4877-bb9c-3fb3795fdfa8"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1e67f024-c731-4877-bb9c-3fb3795fdfa8"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1e67f024-c731-4877-bb9c-3fb3795fdfa8"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1e67f024-c731-4877-bb9c-3fb3795fdfa8"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1e67f024-c731-4877-bb9c-3fb3795fdfa8"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1e67f024-c731-4877-bb9c-3fb3795fdfa8"},"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/1e67f024-c731-4877-bb9c-3fb3795fdfa8"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:48Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.641742,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:48Z"} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Received request.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515348,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0OH0.VnRG8w0tS5pKIlgIYXOOUhqYjmBh-cW5i4QDK-kkZQo"} 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":"097fe2d0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Sent response.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.648041,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f36ccb5-67b8-4638-9270-f53f80d05321","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/9f36ccb5-67b8-4638-9270-f53f80d05321","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515348,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0OH0.VnRG8w0tS5pKIlgIYXOOUhqYjmBh-cW5i4QDK-kkZQo"} 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":"098030f0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:48Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F686d2110-ff0d-4aa8-baaa-c5a9893b1964","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"453042e8-0643-413a-b054-f2145ef53c82","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515348.871861} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f36ccb5-67b8-4638-9270-f53f80d05321","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f36ccb5-67b8-4638-9270-f53f80d05321","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:46.583194514Z"}]},"request_id":"f3ce3ea4-73f0-4301-bc13-c5b2b63c2da3","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515348.8727489} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.860991,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"09805800-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"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":"098030f0-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F686d2110-ff0d-4aa8-baaa-c5a9893b1964","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F686d2110-ff0d-4aa8-baaa-c5a9893b1964","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:46.533837333Z"}]},"request_id":"29f4c72b-870f-4779-bceb-99702ac5d127","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515348.8739042} 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":"097fe2d0-3dd1-11ef-ab4a-87fddd4f273f"},"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/686d2110-ff0d-4aa8-baaa-c5a9893b1964/signaling 200 15ms","method":"POST","requestID":"09805800-3dd1-11ef-ab4a-87fddd4f273f","responseTime":15,"status":200,"url":"/devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/9f36ccb5-67b8-4638-9270-f53f80d05321? 200 17ms","method":"GET","requestID":"098030f0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":17,"status":200,"url":"/devices/9f36ccb5-67b8-4638-9270-f53f80d05321?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964? 200 20ms","method":"GET","requestID":"097fe2d0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":20,"status":200,"url":"/devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:48Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f36ccb5-67b8-4638-9270-f53f80d05321","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6a3d9bc3-e03a-4019-81cd-ebc9800b3134","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515348.8887534} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1e67f024-c731-4877-bb9c-3fb3795fdfa8#owner@http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1e67f024-c731-4877-bb9c-3fb3795fdfa8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"d861d09e-008d-4000-9aad-55118c196f31","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515348.8894198} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"95e43bcd-383c-4eb7-86bc-c81f4e3a33ec","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515348.8898008} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.640047,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:48Z"} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Received request.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f36ccb5-67b8-4638-9270-f53f80d05321","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9f36ccb5-67b8-4638-9270-f53f80d05321","object_type":"device","rebac_allow":false,"scope_allow":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":"09831720-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","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":"dd5097608005fa0d09a3048b2655639b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":27}} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Sent response.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.688784,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:48Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F686d2110-ff0d-4aa8-baaa-c5a9893b1964","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ca124af6-fa24-42a3-b7ac-022088dce95c","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515348.8936865} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964","object_type":"device","rebac_allow":false,"scope_allow":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":"09836540-3dd1-11ef-ab4a-87fddd4f273f"},"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/9f36ccb5-67b8-4638-9270-f53f80d05321/signaling 200 18ms","method":"POST","requestID":"09831720-3dd1-11ef-ab4a-87fddd4f273f","responseTime":18,"status":200,"url":"/devices/9f36ccb5-67b8-4638-9270-f53f80d05321/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964/signaling 200 18ms","method":"POST","requestID":"09836540-3dd1-11ef-ab4a-87fddd4f273f","responseTime":18,"status":200,"url":"/devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/1e67f024-c731-4877-bb9c-3fb3795fdfa8","user":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} gateway-1 | {"time_local":"09/Jul/2024:08:55:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.165","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dd5097608005fa0d09a3048b2655639b"} experiment-1 | {"level":"info","message":"POST /experiments? 201 158ms","method":"POST","requestID":"dd5097608005fa0d09a3048b2655639b","responseTime":158,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:48Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0OH0.VnRG8w0tS5pKIlgIYXOOUhqYjmBh-cW5i4QDK-kkZQo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3d4bca901444b9fda25caedc424cdac4","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f36ccb5-67b8-4638-9270-f53f80d05321","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d33a4667-f395-4524-99d6-52d3c9909a07","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515348.9133506} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.73091,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f36ccb5-67b8-4638-9270-f53f80d05321","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9f36ccb5-67b8-4638-9270-f53f80d05321","object_type":"device","rebac_allow":false,"scope_allow":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":"09869990-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Received request.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:48Z"} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Sent response.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.057177,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:48Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/9f36ccb5-67b8-4638-9270-f53f80d05321/signaling 200 13ms","method":"POST","requestID":"09869990-3dd1-11ef-ab4a-87fddd4f273f","responseTime":13,"status":200,"url":"/devices/9f36ccb5-67b8-4638-9270-f53f80d05321/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515348,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0OH0.VnRG8w0tS5pKIlgIYXOOUhqYjmBh-cW5i4QDK-kkZQo"} 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":"3d4bca901444b9fda25caedc424cdac4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1e67f024-c731-4877-bb9c-3fb3795fdfa8"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1e67f024-c731-4877-bb9c-3fb3795fdfa8"},"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":"d38664f1-3739-4ad6-82c7-973f0edf0a17"},{"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":"d4e8c31e-71da-4442-8371-e29df25337f1"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"e96fe475-3352-4555-8cf6-656323419f51"}]},"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/686d2110-ff0d-4aa8-baaa-c5a9893b1964"},{"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/9f36ccb5-67b8-4638-9270-f53f80d05321"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections 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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F686d2110-ff0d-4aa8-baaa-c5a9893b1964","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F686d2110-ff0d-4aa8-baaa-c5a9893b1964","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:46.533837333Z"}]},"request_id":"46293b18-4eee-4722-a9a2-eb3b302d347d","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515348.9227936} 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":"3d4bca901444b9fda25caedc424cdac4"},"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:44070","level":"info","msg":"Received request.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:48Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.730254,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515348,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0OH0.VnRG8w0tS5pKIlgIYXOOUhqYjmBh-cW5i4QDK-kkZQo"} 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":"09890a90-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"09/Jul/2024:08:55:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964? 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":"3d4bca901444b9fda25caedc424cdac4"} device-1 | {"level":"info","message":"GET /devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964? 200 16ms","method":"GET","requestID":"3d4bca901444b9fda25caedc424cdac4","responseTime":16,"status":200,"url":"/devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0OH0.VnRG8w0tS5pKIlgIYXOOUhqYjmBh-cW5i4QDK-kkZQo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ab46cfd53e207ddd80a1ae4bc1e3088c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","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%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"05057822-05de-457e-86d4-99a57d0a58c8","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515348.9361203} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"46c96804-20f3-45b2-bfbc-ca3ed0d5353b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515348.9362807} 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":"09890a90-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:48Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.800129,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f36ccb5-67b8-4638-9270-f53f80d05321","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/9f36ccb5-67b8-4638-9270-f53f80d05321","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515348,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM0OH0.VnRG8w0tS5pKIlgIYXOOUhqYjmBh-cW5i4QDK-kkZQo"} 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":"ab46cfd53e207ddd80a1ae4bc1e3088c"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f36ccb5-67b8-4638-9270-f53f80d05321","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f36ccb5-67b8-4638-9270-f53f80d05321","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:46.583194514Z"}]},"request_id":"7e098d3c-8497-44e7-a108-28037f228cc9","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515348.9428325} 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":"ab46cfd53e207ddd80a1ae4bc1e3088c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} 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/42826935-0dae-4136-977b-6de2596e7c19'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/42826935-0dae-4136-977b-6de2596e7c19'"} 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 32ms","method":"POST","requestID":"09890a90-3dd1-11ef-ab4a-87fddd4f273f","responseTime":32,"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"} gateway-1 | {"time_local":"09/Jul/2024:08:55:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9f36ccb5-67b8-4638-9270-f53f80d05321? 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":"ab46cfd53e207ddd80a1ae4bc1e3088c"} device-1 | {"level":"info","message":"GET /devices/9f36ccb5-67b8-4638-9270-f53f80d05321? 200 20ms","method":"GET","requestID":"ab46cfd53e207ddd80a1ae4bc1e3088c","responseTime":20,"status":200,"url":"/devices/9f36ccb5-67b8-4638-9270-f53f80d05321?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1e67f024-c731-4877-bb9c-3fb3795fdfa8"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:48Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F686d2110-ff0d-4aa8-baaa-c5a9893b1964","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e8792124-7f1f-42c1-8318-cb8dc148198f","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515348.985163} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.214245,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964","object_type":"device","rebac_allow":false,"scope_allow":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":"09923250-3dd1-11ef-ab4a-87fddd4f273f"},"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/686d2110-ff0d-4aa8-baaa-c5a9893b1964/signaling 200 8ms","method":"POST","requestID":"09923250-3dd1-11ef-ab4a-87fddd4f273f","responseTime":8,"status":200,"url":"/devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:48Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f36ccb5-67b8-4638-9270-f53f80d05321","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5243477b-4a86-49cc-aa14-ff03fb5595c0","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515348.995208} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.102577,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f36ccb5-67b8-4638-9270-f53f80d05321","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9f36ccb5-67b8-4638-9270-f53f80d05321","object_type":"device","rebac_allow":false,"scope_allow":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":"0993b8f0-3dd1-11ef-ab4a-87fddd4f273f"},"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/9f36ccb5-67b8-4638-9270-f53f80d05321/signaling 200 9ms","method":"POST","requestID":"0993b8f0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":9,"status":200,"url":"/devices/9f36ccb5-67b8-4638-9270-f53f80d05321/signaling"} device-1 | {"data":{"peerconnection":"42826935-0dae-4136-977b-6de2596e7c19","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/42826935-0dae-4136-977b-6de2596e7c19' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"42826935-0dae-4136-977b-6de2596e7c19","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":"33067d9759f03da6262b9d648f34de1b","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/686d2110-ff0d-4aa8-baaa-c5a9893b1964"},{"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/9f36ccb5-67b8-4638-9270-f53f80d05321"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/42826935-0dae-4136-977b-6de2596e7c19"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"33067d9759f03da6262b9d648f34de1b","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55: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.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"33067d9759f03da6262b9d648f34de1b"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/9f36ccb5-67b8-4638-9270-f53f80d05321'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/9f36ccb5-67b8-4638-9270-f53f80d05321'"} device-1 | {"data":{"peerconnection":"42826935-0dae-4136-977b-6de2596e7c19","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"42826935-0dae-4136-977b-6de2596e7c19","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/42826935-0dae-4136-977b-6de2596e7c19' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"42826935-0dae-4136-977b-6de2596e7c19","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":"704cae2edd9bb1c5a8728f5aa0d90e0e","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/686d2110-ff0d-4aa8-baaa-c5a9893b1964"},{"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/9f36ccb5-67b8-4638-9270-f53f80d05321"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/42826935-0dae-4136-977b-6de2596e7c19"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:51Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F42826935-0dae-4136-977b-6de2596e7c19","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"77fb94f4-0115-4051-b4fc-4dacf28ebe2c","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515351.1189578} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.549683,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/42826935-0dae-4136-977b-6de2596e7c19","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/42826935-0dae-4136-977b-6de2596e7c19","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":"0ad7aaa0-3dd1-11ef-ab4a-87fddd4f273f"},"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/42826935-0dae-4136-977b-6de2596e7c19 200 8ms","method":"GET","requestID":"0ad7aaa0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":8,"status":200,"url":"/peerconnections/42826935-0dae-4136-977b-6de2596e7c19"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 26ms","method":"POST","requestID":"704cae2edd9bb1c5a8728f5aa0d90e0e","responseTime":26,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55: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.029","http_referrer":"","http_user_agent":"node-fetch","requestID":"704cae2edd9bb1c5a8728f5aa0d90e0e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:51Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F686d2110-ff0d-4aa8-baaa-c5a9893b1964","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d8f28f88-2440-474b-8adf-cca3fe7cf961","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515351.1413803} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.558413,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964","object_type":"device","rebac_allow":false,"scope_allow":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":"0adb0600-3dd1-11ef-ab4a-87fddd4f273f"},"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/686d2110-ff0d-4aa8-baaa-c5a9893b1964/signaling 200 8ms","method":"POST","requestID":"0adb0600-3dd1-11ef-ab4a-87fddd4f273f","responseTime":8,"status":200,"url":"/devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:51Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f36ccb5-67b8-4638-9270-f53f80d05321","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"be2a56e1-7519-4709-b78f-70ee8b1ce244","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515351.1517} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.707659,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f36ccb5-67b8-4638-9270-f53f80d05321","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9f36ccb5-67b8-4638-9270-f53f80d05321","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"0adcb3b0-3dd1-11ef-ab4a-87fddd4f273f"},"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/9f36ccb5-67b8-4638-9270-f53f80d05321/signaling 200 8ms","method":"POST","requestID":"0adcb3b0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":8,"status":200,"url":"/devices/9f36ccb5-67b8-4638-9270-f53f80d05321/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1MX0.ps3DIejBswWsMaOtPlVsRVbG8wIUhZyjJ3jx0EXIXu8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"786693597efdde5d89cc2cc667a35bc1","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/1e67f024-c731-4877-bb9c-3fb3795fdfa8"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:51Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.241451,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1e67f024-c731-4877-bb9c-3fb3795fdfa8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/1e67f024-c731-4877-bb9c-3fb3795fdfa8","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515351,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1MX0.ps3DIejBswWsMaOtPlVsRVbG8wIUhZyjJ3jx0EXIXu8"} 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":"786693597efdde5d89cc2cc667a35bc1"},"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/1e67f024-c731-4877-bb9c-3fb3795fdfa8"} gateway-1 | {"time_local":"09/Jul/2024:08:55:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/1e67f024-c731-4877-bb9c-3fb3795fdfa8 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"786693597efdde5d89cc2cc667a35bc1"} experiment-1 | {"level":"info","message":"GET /experiments/1e67f024-c731-4877-bb9c-3fb3795fdfa8 200 15ms","method":"GET","requestID":"786693597efdde5d89cc2cc667a35bc1","responseTime":15,"status":200,"url":"/experiments/1e67f024-c731-4877-bb9c-3fb3795fdfa8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1MX0.ps3DIejBswWsMaOtPlVsRVbG8wIUhZyjJ3jx0EXIXu8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2473c0b9a7f8d1e5e465656e2c5d7917","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/1e67f024-c731-4877-bb9c-3fb3795fdfa8"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:51Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.07994,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:51Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1e67f024-c731-4877-bb9c-3fb3795fdfa8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/1e67f024-c731-4877-bb9c-3fb3795fdfa8","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515351,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1MX0.ps3DIejBswWsMaOtPlVsRVbG8wIUhZyjJ3jx0EXIXu8"} 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":"2473c0b9a7f8d1e5e465656e2c5d7917"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1e67f024-c731-4877-bb9c-3fb3795fdfa8"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:51Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":2.053078,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:51Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/42826935-0dae-4136-977b-6de2596e7c19","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:http://localhost/peerconnections/42826935-0dae-4136-977b-6de2596e7c19","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515351,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1MX0.ps3DIejBswWsMaOtPlVsRVbG8wIUhZyjJ3jx0EXIXu8"} 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":"0aebf5f0-3dd1-11ef-ab4a-87fddd4f273f"},"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/42826935-0dae-4136-977b-6de2596e7c19' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/42826935-0dae-4136-977b-6de2596e7c19' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"42826935-0dae-4136-977b-6de2596e7c19","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":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F42826935-0dae-4136-977b-6de2596e7c19': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F42826935-0dae-4136-977b-6de2596e7c19","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"f473ccf7-887c-42e8-81f8-c3b3a5554812","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515351.273699} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5008b6b8576c88240413ee98fa924849","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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"24624670-93dc-4a14-85fe-a4df7b7fa0be","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515351.2744722} 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":"closed","url":"http://localhost/devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964"},{"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/9f36ccb5-67b8-4638-9270-f53f80d05321"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/42826935-0dae-4136-977b-6de2596e7c19"}}},"level":"info","message":"received a callback"} 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":"0aebf5f0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"170b69d2e19c1bf59c76f972bc4787e7","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964"},{"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/9f36ccb5-67b8-4638-9270-f53f80d05321"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/42826935-0dae-4136-977b-6de2596e7c19"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"42826935-0dae-4136-977b-6de2596e7c19","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/42826935-0dae-4136-977b-6de2596e7c19 204 50ms","method":"DELETE","requestID":"0aebf5f0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":50,"status":204,"url":"/peerconnections/42826935-0dae-4136-977b-6de2596e7c19"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1e67f024-c731-4877-bb9c-3fb3795fdfa8"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:51Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F686d2110-ff0d-4aa8-baaa-c5a9893b1964","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"887104cb-3fa7-4c18-8a21-41bc0701eae9","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515351.3326275} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.681853,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964","object_type":"device","rebac_allow":false,"scope_allow":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":"0af7b5c0-3dd1-11ef-ab4a-87fddd4f273f"},"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/686d2110-ff0d-4aa8-baaa-c5a9893b1964/signaling 200 16ms","method":"POST","requestID":"0af7b5c0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":16,"status":200,"url":"/devices/686d2110-ff0d-4aa8-baaa-c5a9893b1964/signaling"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1e67f024-c731-4877-bb9c-3fb3795fdfa8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1e67f024-c731-4877-bb9c-3fb3795fdfa8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"5834ac94-df89-4803-8809-6e2d6093a333","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515351.3403738} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c59dce40-b46d-4264-b9ac-185aa0612929","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515351.3409922} 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":"2473c0b9a7f8d1e5e465656e2c5d7917"},"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:44070","level":"info","msg":"Received request.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:51Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f36ccb5-67b8-4638-9270-f53f80d05321","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cab475da-8fe6-46b4-aefb-0d0242deeb82","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515351.3510733} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.785433,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f36ccb5-67b8-4638-9270-f53f80d05321","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9f36ccb5-67b8-4638-9270-f53f80d05321","object_type":"device","rebac_allow":false,"scope_allow":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":"0afa9bf0-3dd1-11ef-ab4a-87fddd4f273f"},"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/9f36ccb5-67b8-4638-9270-f53f80d05321/signaling 200 15ms","method":"POST","requestID":"0afa9bf0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":15,"status":200,"url":"/devices/9f36ccb5-67b8-4638-9270-f53f80d05321/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/1e67f024-c731-4877-bb9c-3fb3795fdfa8"} gateway-1 | {"time_local":"09/Jul/2024:08:55:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/1e67f024-c731-4877-bb9c-3fb3795fdfa8 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.181","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2473c0b9a7f8d1e5e465656e2c5d7917"} experiment-1 | {"level":"info","message":"DELETE /experiments/1e67f024-c731-4877-bb9c-3fb3795fdfa8 204 178ms","method":"DELETE","requestID":"2473c0b9a7f8d1e5e465656e2c5d7917","responseTime":178,"status":204,"url":"/experiments/1e67f024-c731-4877-bb9c-3fb3795fdfa8"} gateway-1 | {"time_local":"09/Jul/2024:08:55:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3232","request_time":"4.226","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"62061cff09cec0d5b0a3068d7291052d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 138ms","method":"POST","requestID":"5008b6b8576c88240413ee98fa924849","responseTime":138,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55: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.144","http_referrer":"","http_user_agent":"node-fetch","requestID":"5008b6b8576c88240413ee98fa924849"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 137ms","method":"POST","requestID":"170b69d2e19c1bf59c76f972bc4787e7","responseTime":137,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55: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.146","http_referrer":"","http_user_agent":"node-fetch","requestID":"170b69d2e19c1bf59c76f972bc4787e7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1MX0.ps3DIejBswWsMaOtPlVsRVbG8wIUhZyjJ3jx0EXIXu8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"906bafdf0aa967b3436e16f3c5934f76","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"09/Jul/2024:08:55:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2740","request_time":"2.757","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7f72c7f4b9ffa50bd2abfe08376dbc4b"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:51Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.117425,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515351,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1MX0.ps3DIejBswWsMaOtPlVsRVbG8wIUhZyjJ3jx0EXIXu8"} 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":"906bafdf0aa967b3436e16f3c5934f76"},"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/686d2110-ff0d-4aa8-baaa-c5a9893b1964' 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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b496392-7f44-4d33-b479-198a98087ff9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"fd028613-77ce-4aa5-9a22-bb046378cd8e","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515351.4415019} 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":"906bafdf0aa967b3436e16f3c5934f76"},"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/9f36ccb5-67b8-4638-9270-f53f80d05321' 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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"39f68153-f29b-4a3e-9e7e-35d65133cfcc","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515351.4498718} 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":"906bafdf0aa967b3436e16f3c5934f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b496392-7f44-4d33-b479-198a98087ff9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"5e65bd9c-0f07-4314-bcf2-9bd176535a91","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515351.463921} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4ad1f642-478d-46eb-9bff-72257b6ff7e4","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515351.4639363} 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":"906bafdf0aa967b3436e16f3c5934f76"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b496392-7f44-4d33-b479-198a98087ff9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b496392-7f44-4d33-b479-198a98087ff9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:51.463898264Z"}]},"request_id":"3bdd0a54-60a2-44fa-bede-2e5fab00ae02","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515351.4688761} 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":"906bafdf0aa967b3436e16f3c5934f76"},"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":"09/Jul/2024:08:55:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"906bafdf0aa967b3436e16f3c5934f76"} device-1 | {"level":"info","message":"POST /devices? 201 50ms","method":"POST","requestID":"906bafdf0aa967b3436e16f3c5934f76","responseTime":50,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1MX0.ps3DIejBswWsMaOtPlVsRVbG8wIUhZyjJ3jx0EXIXu8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"480a84eff0d95d8d5303f8592635e992","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:51Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.819062,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515351,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1MX0.ps3DIejBswWsMaOtPlVsRVbG8wIUhZyjJ3jx0EXIXu8"} 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":"480a84eff0d95d8d5303f8592635e992"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c7134150-da67-4ffa-86d4-7c111251c114","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515351.4927294} 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":"480a84eff0d95d8d5303f8592635e992"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8c1ea809-540a-4bdc-990f-9b74e3d6d803","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515351.4972427} 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":"480a84eff0d95d8d5303f8592635e992"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"e5a54d62-6737-411d-ac63-a494692959c9","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515351.5079927} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a56655e0-ae85-42ff-842f-6970b1bb9bc0","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515351.5081677} 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":"480a84eff0d95d8d5303f8592635e992"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:51.507973751Z"}]},"request_id":"19528297-a427-4ca8-a470-566d02a0a01f","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515351.5120735} 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":"480a84eff0d95d8d5303f8592635e992"},"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":"09/Jul/2024:08:55:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"480a84eff0d95d8d5303f8592635e992"} device-1 | {"level":"info","message":"POST /devices? 201 38ms","method":"POST","requestID":"480a84eff0d95d8d5303f8592635e992","responseTime":38,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1MX0.ps3DIejBswWsMaOtPlVsRVbG8wIUhZyjJ3jx0EXIXu8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d8bd43de440dcbab92ab5ccc90f52d4a","responseTime":4,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1MX0.ps3DIejBswWsMaOtPlVsRVbG8wIUhZyjJ3jx0EXIXu8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c91f106e14ecb0af8be093734e3a4dbe","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:44070","level":"info","msg":"Received request.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:51Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.80252,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:51Z"} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Received request.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:51Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515351,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1MX0.ps3DIejBswWsMaOtPlVsRVbG8wIUhZyjJ3jx0EXIXu8"} 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":"d8bd43de440dcbab92ab5ccc90f52d4a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Sent response.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.791467,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:51Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b496392-7f44-4d33-b479-198a98087ff9","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/7b496392-7f44-4d33-b479-198a98087ff9","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515351,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1MX0.ps3DIejBswWsMaOtPlVsRVbG8wIUhZyjJ3jx0EXIXu8"} 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":"c91f106e14ecb0af8be093734e3a4dbe"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:51.507973751Z"}]},"request_id":"98a33a11-1a00-4068-a78d-def2e148e03f","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515351.9999094} 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":"d8bd43de440dcbab92ab5ccc90f52d4a"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b496392-7f44-4d33-b479-198a98087ff9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b496392-7f44-4d33-b479-198a98087ff9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:51.463898264Z"}]},"request_id":"f92581ee-8386-42a7-8fc1-98cfe3d876cb","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515352.000611} 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":"c91f106e14ecb0af8be093734e3a4dbe"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5367613f-3a88-413b-9164-d64cf806e468","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515352.005085} 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":"d8bd43de440dcbab92ab5ccc90f52d4a"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6d7c2a20-bfa4-4f25-bc49-ad7f6346f8aa","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515352.0070014} 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":"c91f106e14ecb0af8be093734e3a4dbe"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b496392-7f44-4d33-b479-198a98087ff9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b496392-7f44-4d33-b479-198a98087ff9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:51.463898264Z"}]},"request_id":"34a6bbec-a001-4059-b131-002f461c0e77","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515352.0101602} 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":"c91f106e14ecb0af8be093734e3a4dbe"},"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/7b496392-7f44-4d33-b479-198a98087ff9 200 23ms","method":"PATCH","requestID":"c91f106e14ecb0af8be093734e3a4dbe","responseTime":23,"status":200,"url":"/devices/7b496392-7f44-4d33-b479-198a98087ff9"} gateway-1 | {"time_local":"09/Jul/2024:08:55:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/7b496392-7f44-4d33-b479-198a98087ff9 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.030","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"c91f106e14ecb0af8be093734e3a4dbe"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1Mn0.dJPPE5pL6Sdb9TeBv-RFYw_-4czWSa7HFJknIBDMtWY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c4fd4d4612dc7d06140f8d61b56b0946","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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:51.507973751Z"}]},"request_id":"f05b5987-c85d-44a3-bc55-a80c3e1ff31b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515352.0209887} 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":"d8bd43de440dcbab92ab5ccc90f52d4a"},"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:44070","level":"info","msg":"Received request.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:52Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.17542,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:52Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b496392-7f44-4d33-b479-198a98087ff9","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/7b496392-7f44-4d33-b479-198a98087ff9","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515352,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1Mn0.dJPPE5pL6Sdb9TeBv-RFYw_-4czWSa7HFJknIBDMtWY"} gateway-1 | {"time_local":"09/Jul/2024:08:55:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.042","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"d8bd43de440dcbab92ab5ccc90f52d4a"} device-1 | {"level":"info","message":"PATCH /devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0 200 36ms","method":"PATCH","requestID":"d8bd43de440dcbab92ab5ccc90f52d4a","responseTime":36,"status":200,"url":"/devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0"} 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":"c4fd4d4612dc7d06140f8d61b56b0946"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1Mn0.dJPPE5pL6Sdb9TeBv-RFYw_-4czWSa7HFJknIBDMtWY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c3031a5f763533e8b22aa5a8f1980ba4","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:52Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.109068,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:52Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515352,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1Mn0.dJPPE5pL6Sdb9TeBv-RFYw_-4czWSa7HFJknIBDMtWY"} 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":"c3031a5f763533e8b22aa5a8f1980ba4"},"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/7b496392-7f44-4d33-b479-198a98087ff9/websocket 200 17ms","method":"POST","requestID":"c4fd4d4612dc7d06140f8d61b56b0946","responseTime":17,"status":200,"url":"/devices/7b496392-7f44-4d33-b479-198a98087ff9/websocket"} gateway-1 | {"time_local":"09/Jul/2024:08:55:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7b496392-7f44-4d33-b479-198a98087ff9/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":"c4fd4d4612dc7d06140f8d61b56b0946"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"09/Jul/2024:08:55:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0/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":"c3031a5f763533e8b22aa5a8f1980ba4"} device-1 | {"level":"info","message":"POST /devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0/websocket 200 16ms","method":"POST","requestID":"c3031a5f763533e8b22aa5a8f1980ba4","responseTime":16,"status":200,"url":"/devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/7b496392-7f44-4d33-b479-198a98087ff9' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1Mn0.dJPPE5pL6Sdb9TeBv-RFYw_-4czWSa7HFJknIBDMtWY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"17e94a52f5ab8ee7e477f44d8eda39ff","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:52Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.697103,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b496392-7f44-4d33-b479-198a98087ff9","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/7b496392-7f44-4d33-b479-198a98087ff9","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515352,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1Mn0.dJPPE5pL6Sdb9TeBv-RFYw_-4czWSa7HFJknIBDMtWY"} 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":"17e94a52f5ab8ee7e477f44d8eda39ff"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b496392-7f44-4d33-b479-198a98087ff9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b496392-7f44-4d33-b479-198a98087ff9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:51.463898264Z"}]},"request_id":"8dab432f-b6a8-471b-b319-878b660b1d7f","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515352.0801797} 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":"17e94a52f5ab8ee7e477f44d8eda39ff"},"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":"09/Jul/2024:08:55:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7b496392-7f44-4d33-b479-198a98087ff9? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"17e94a52f5ab8ee7e477f44d8eda39ff"} device-1 | {"level":"info","message":"GET /devices/7b496392-7f44-4d33-b479-198a98087ff9? 200 13ms","method":"GET","requestID":"17e94a52f5ab8ee7e477f44d8eda39ff","responseTime":13,"status":200,"url":"/devices/7b496392-7f44-4d33-b479-198a98087ff9?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1Mn0.dJPPE5pL6Sdb9TeBv-RFYw_-4czWSa7HFJknIBDMtWY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0904ecc81dfb3f2796198fdf88de72d2","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:52Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.889598,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515352,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1Mn0.dJPPE5pL6Sdb9TeBv-RFYw_-4czWSa7HFJknIBDMtWY"} 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":"0904ecc81dfb3f2796198fdf88de72d2"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:51.507973751Z"}]},"request_id":"77fac1c1-9d18-484a-abeb-060d5f1cb38f","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515352.0953386} 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":"0904ecc81dfb3f2796198fdf88de72d2"},"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":"09/Jul/2024:08:55:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0904ecc81dfb3f2796198fdf88de72d2"} device-1 | {"level":"info","message":"GET /devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0? 200 10ms","method":"GET","requestID":"0904ecc81dfb3f2796198fdf88de72d2","responseTime":10,"status":200,"url":"/devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1Mn0.dJPPE5pL6Sdb9TeBv-RFYw_-4czWSa7HFJknIBDMtWY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"22725949f91ff6fa762783506e47c4c3","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:44070","level":"info","msg":"Received request.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:52Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.118078,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515352,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1Mn0.dJPPE5pL6Sdb9TeBv-RFYw_-4czWSa7HFJknIBDMtWY"} 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":"22725949f91ff6fa762783506e47c4c3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a8a8a5e1-98bf-42cc-b5ed-4dfe5e50a63d"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a8a8a5e1-98bf-42cc-b5ed-4dfe5e50a63d"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a8a8a5e1-98bf-42cc-b5ed-4dfe5e50a63d"},"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:44070","level":"info","msg":"Received request.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:52Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.838351,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b496392-7f44-4d33-b479-198a98087ff9","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/7b496392-7f44-4d33-b479-198a98087ff9","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515352,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1Mn0.dJPPE5pL6Sdb9TeBv-RFYw_-4czWSa7HFJknIBDMtWY"} 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":"0b7438c0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Received request.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:52Z"} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Sent response.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.530876,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515352,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1Mn0.dJPPE5pL6Sdb9TeBv-RFYw_-4czWSa7HFJknIBDMtWY"} 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":"0b745fd0-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b496392-7f44-4d33-b479-198a98087ff9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b496392-7f44-4d33-b479-198a98087ff9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:51.463898264Z"}]},"request_id":"316e0e11-d861-402e-88c5-581055cdffe4","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515352.1502316} 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":"0b7438c0-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:51.507973751Z"}]},"request_id":"4099ed31-094a-4522-8b0c-1d7f77cb2954","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515352.1511426} 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":"0b745fd0-3dd1-11ef-ab4a-87fddd4f273f"},"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/7b496392-7f44-4d33-b479-198a98087ff9? 200 17ms","method":"GET","requestID":"0b7438c0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":17,"status":200,"url":"/devices/7b496392-7f44-4d33-b479-198a98087ff9?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0? 200 17ms","method":"GET","requestID":"0b745fd0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":17,"status":200,"url":"/devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a8a8a5e1-98bf-42cc-b5ed-4dfe5e50a63d"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a8a8a5e1-98bf-42cc-b5ed-4dfe5e50a63d"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a8a8a5e1-98bf-42cc-b5ed-4dfe5e50a63d"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a8a8a5e1-98bf-42cc-b5ed-4dfe5e50a63d"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a8a8a5e1-98bf-42cc-b5ed-4dfe5e50a63d"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a8a8a5e1-98bf-42cc-b5ed-4dfe5e50a63d"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a8a8a5e1-98bf-42cc-b5ed-4dfe5e50a63d"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a8a8a5e1-98bf-42cc-b5ed-4dfe5e50a63d"},"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/a8a8a5e1-98bf-42cc-b5ed-4dfe5e50a63d"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:52Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.998452,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:52Z"} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Received request.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b496392-7f44-4d33-b479-198a98087ff9","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/7b496392-7f44-4d33-b479-198a98087ff9","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515352,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1Mn0.dJPPE5pL6Sdb9TeBv-RFYw_-4czWSa7HFJknIBDMtWY"} 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":"0b7e23d0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Sent response.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.017578,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515352,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1Mn0.dJPPE5pL6Sdb9TeBv-RFYw_-4czWSa7HFJknIBDMtWY"} 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":"0b7e71f0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:52Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.084135,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:52Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b496392-7f44-4d33-b479-198a98087ff9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8bb7ce49-503e-42d5-b01a-8b68d0bd695b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515352.2184734} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b496392-7f44-4d33-b479-198a98087ff9","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7b496392-7f44-4d33-b479-198a98087ff9","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"0b7ee720-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b496392-7f44-4d33-b479-198a98087ff9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b496392-7f44-4d33-b479-198a98087ff9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:51.463898264Z"}]},"request_id":"ac3a23c4-3e47-4a4d-8f28-5bbc9e165abe","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515352.2198048} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:51.507973751Z"}]},"request_id":"cd7633d8-8716-498d-a235-8a7f7d062015","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515352.221388} 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":"0b7e23d0-3dd1-11ef-ab4a-87fddd4f273f"},"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 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":"0b7e71f0-3dd1-11ef-ab4a-87fddd4f273f"},"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/7b496392-7f44-4d33-b479-198a98087ff9/signaling 200 20ms","method":"POST","requestID":"0b7ee720-3dd1-11ef-ab4a-87fddd4f273f","responseTime":20,"status":200,"url":"/devices/7b496392-7f44-4d33-b479-198a98087ff9/signaling"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa8a8a5e1-98bf-42cc-b5ed-4dfe5e50a63d#owner@http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa8a8a5e1-98bf-42cc-b5ed-4dfe5e50a63d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"7574f599-eea0-46c9-a190-4a8d735df97d","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515352.2332802} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b548e7b8-96a8-4c60-a2ae-184d4dbbbbdd","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515352.233569} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/7b496392-7f44-4d33-b479-198a98087ff9? 200 29ms","method":"GET","requestID":"0b7e23d0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":29,"status":200,"url":"/devices/7b496392-7f44-4d33-b479-198a98087ff9?"} 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":"22725949f91ff6fa762783506e47c4c3"},"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":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:52Z"} device-1 | {"level":"info","message":"GET /devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0? 200 32ms","method":"GET","requestID":"0b7e71f0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":32,"status":200,"url":"/devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0?"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"98409c82-2e6a-4818-ad51-122b4127b063","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515352.2410057} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.439938,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"0b82b7b0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/a8a8a5e1-98bf-42cc-b5ed-4dfe5e50a63d","user":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"09/Jul/2024:08:55:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.144","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"22725949f91ff6fa762783506e47c4c3"} experiment-1 | {"level":"info","message":"POST /experiments? 201 139ms","method":"POST","requestID":"22725949f91ff6fa762783506e47c4c3","responseTime":139,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:52Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0/signaling 200 11ms","method":"POST","requestID":"0b82b7b0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1Mn0.dJPPE5pL6Sdb9TeBv-RFYw_-4czWSa7HFJknIBDMtWY","level":"info","message":"auth send jwt"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b496392-7f44-4d33-b479-198a98087ff9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a3d0e815-da11-4e02-b875-63a0e843134d","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515352.2493343} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"059052011be5328dd1ec7dc807bcbe63","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.158991,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:52Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b496392-7f44-4d33-b479-198a98087ff9","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7b496392-7f44-4d33-b479-198a98087ff9","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"0b841740-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:52Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.814464,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:52Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b496392-7f44-4d33-b479-198a98087ff9","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/7b496392-7f44-4d33-b479-198a98087ff9","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515352,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1Mn0.dJPPE5pL6Sdb9TeBv-RFYw_-4czWSa7HFJknIBDMtWY"} device-1 | {"level":"info","message":"POST /devices/7b496392-7f44-4d33-b479-198a98087ff9/signaling 200 11ms","method":"POST","requestID":"0b841740-3dd1-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/devices/7b496392-7f44-4d33-b479-198a98087ff9/signaling"} 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":"059052011be5328dd1ec7dc807bcbe63"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} 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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b496392-7f44-4d33-b479-198a98087ff9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b496392-7f44-4d33-b479-198a98087ff9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:51.463898264Z"}]},"request_id":"8f9bb4b4-d94c-41b5-aa3a-895df1b5ce53","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515352.2583947} 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":"059052011be5328dd1ec7dc807bcbe63"},"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:44070","level":"info","msg":"Received request.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:52Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"09/Jul/2024:08:55:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7b496392-7f44-4d33-b479-198a98087ff9? 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":"059052011be5328dd1ec7dc807bcbe63"} device-1 | {"level":"info","message":"GET /devices/7b496392-7f44-4d33-b479-198a98087ff9? 200 12ms","method":"GET","requestID":"059052011be5328dd1ec7dc807bcbe63","responseTime":12,"status":200,"url":"/devices/7b496392-7f44-4d33-b479-198a98087ff9?"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2a9b7b41-036a-4e3f-b3ef-f77bfd2e2512","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515352.2625072} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.708227,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"0b861310-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1Mn0.dJPPE5pL6Sdb9TeBv-RFYw_-4czWSa7HFJknIBDMtWY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2b8f8556781fadd8d193cb42511fa372","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0/signaling 200 10ms","method":"POST","requestID":"0b861310-3dd1-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a8a8a5e1-98bf-42cc-b5ed-4dfe5e50a63d"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a8a8a5e1-98bf-42cc-b5ed-4dfe5e50a63d"},"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":"0ea74e81-f9f0-46e5-8959-402ed28800d1"},{"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":"56f7efc9-ce9a-4503-9b2f-16819ed1f1f6"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"551a19a9-9159-4972-948a-4dc7cbc0d1b4"}]},"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/7b496392-7f44-4d33-b479-198a98087ff9"},{"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/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:52Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.710592,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:52Z"} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Received request.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515352,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1Mn0.dJPPE5pL6Sdb9TeBv-RFYw_-4czWSa7HFJknIBDMtWY"} 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":"2b8f8556781fadd8d193cb42511fa372"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Sent response.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.765308,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515352,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1Mn0.dJPPE5pL6Sdb9TeBv-RFYw_-4czWSa7HFJknIBDMtWY"} 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":"0b87e7d0-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:51.507973751Z"}]},"request_id":"dfadf60d-dd99-4853-af17-e809cca524fb","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515352.2749214} 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":"2b8f8556781fadd8d193cb42511fa372"},"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":"09/Jul/2024:08:55:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2b8f8556781fadd8d193cb42511fa372"} device-1 | {"level":"info","message":"GET /devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0? 200 14ms","method":"GET","requestID":"2b8f8556781fadd8d193cb42511fa372","responseTime":14,"status":200,"url":"/devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0?"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","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%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"f71e41d3-a418-410f-adb6-eacce22c6b2c","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515352.2843509} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"32b61853-59f0-4a66-a3f4-f9a5faa9df53","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515352.2845805} 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":"0b87e7d0-3dd1-11ef-ab4a-87fddd4f273f"},"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/e3798658-471d-4e4f-9221-c18601c70456'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/e3798658-471d-4e4f-9221-c18601c70456'"} 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 27ms","method":"POST","requestID":"0b87e7d0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":27,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a8a8a5e1-98bf-42cc-b5ed-4dfe5e50a63d"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:52Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b496392-7f44-4d33-b479-198a98087ff9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9d099f78-bd87-4b3f-b18d-ffedec18b7fe","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515352.3264194} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.860442,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b496392-7f44-4d33-b479-198a98087ff9","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7b496392-7f44-4d33-b479-198a98087ff9","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"0b8fd710-3dd1-11ef-ab4a-87fddd4f273f"},"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/7b496392-7f44-4d33-b479-198a98087ff9/signaling 200 9ms","method":"POST","requestID":"0b8fd710-3dd1-11ef-ab4a-87fddd4f273f","responseTime":9,"status":200,"url":"/devices/7b496392-7f44-4d33-b479-198a98087ff9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:52Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ba788a98-f503-46ac-b468-8713bc5aaef2","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515352.3385968} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.325943,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"0b91abd0-3dd1-11ef-ab4a-87fddd4f273f"},"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/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0/signaling 200 10ms","method":"POST","requestID":"0b91abd0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0/signaling"} device-1 | {"data":{"peerconnection":"e3798658-471d-4e4f-9221-c18601c70456","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"e3798658-471d-4e4f-9221-c18601c70456","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/e3798658-471d-4e4f-9221-c18601c70456' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e3798658-471d-4e4f-9221-c18601c70456","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":"a6ee0fcbddde55c7892736d2e0ad213f","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/7b496392-7f44-4d33-b479-198a98087ff9"},{"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/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/e3798658-471d-4e4f-9221-c18601c70456"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"a6ee0fcbddde55c7892736d2e0ad213f","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55: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.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"a6ee0fcbddde55c7892736d2e0ad213f"} device-1 | {"data":{"peerconnection":"e3798658-471d-4e4f-9221-c18601c70456","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"e3798658-471d-4e4f-9221-c18601c70456","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/e3798658-471d-4e4f-9221-c18601c70456' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e3798658-471d-4e4f-9221-c18601c70456","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":"38ac7d729de95ed1d47c97f1752192d8","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/7b496392-7f44-4d33-b479-198a98087ff9"},{"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/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/e3798658-471d-4e4f-9221-c18601c70456"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:54Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe3798658-471d-4e4f-9221-c18601c70456","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"31a9b63a-27be-40e2-9414-a2504f9973b0","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515354.4255545} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.341029,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e3798658-471d-4e4f-9221-c18601c70456","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/e3798658-471d-4e4f-9221-c18601c70456","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":"0ccff830-3dd1-11ef-ab4a-87fddd4f273f"},"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/e3798658-471d-4e4f-9221-c18601c70456 200 11ms","method":"GET","requestID":"0ccff830-3dd1-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/peerconnections/e3798658-471d-4e4f-9221-c18601c70456"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 45ms","method":"POST","requestID":"38ac7d729de95ed1d47c97f1752192d8","responseTime":45,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55: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.050","http_referrer":"","http_user_agent":"node-fetch","requestID":"38ac7d729de95ed1d47c97f1752192d8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:54Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b496392-7f44-4d33-b479-198a98087ff9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b9c898bc-3327-467d-855c-f8d65347bb7b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515354.464881} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.791618,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b496392-7f44-4d33-b479-198a98087ff9","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7b496392-7f44-4d33-b479-198a98087ff9","object_type":"device","rebac_allow":false,"scope_allow":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":"0cd5eba0-3dd1-11ef-ab4a-87fddd4f273f"},"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/7b496392-7f44-4d33-b479-198a98087ff9/signaling 200 13ms","method":"POST","requestID":"0cd5eba0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":13,"status":200,"url":"/devices/7b496392-7f44-4d33-b479-198a98087ff9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:54Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9116b24e-94e4-441d-b513-0a3db1e426e3","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515354.4803216} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.262198,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"0cd85ca0-3dd1-11ef-ab4a-87fddd4f273f"},"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/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0/signaling 200 13ms","method":"POST","requestID":"0cd85ca0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":13,"status":200,"url":"/devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1NH0.k-A5R20goUH3KUQ3hm0QeLogHYU381FvE4ptMnpDaDE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2686b7cca7877b3b0ef17c3fefac2453","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a8a8a5e1-98bf-42cc-b5ed-4dfe5e50a63d"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:54Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.836939,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a8a8a5e1-98bf-42cc-b5ed-4dfe5e50a63d","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/a8a8a5e1-98bf-42cc-b5ed-4dfe5e50a63d","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515354,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1NH0.k-A5R20goUH3KUQ3hm0QeLogHYU381FvE4ptMnpDaDE"} 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":"2686b7cca7877b3b0ef17c3fefac2453"},"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/a8a8a5e1-98bf-42cc-b5ed-4dfe5e50a63d"} gateway-1 | {"time_local":"09/Jul/2024:08:55:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a8a8a5e1-98bf-42cc-b5ed-4dfe5e50a63d 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":"2686b7cca7877b3b0ef17c3fefac2453"} experiment-1 | {"level":"info","message":"GET /experiments/a8a8a5e1-98bf-42cc-b5ed-4dfe5e50a63d 200 16ms","method":"GET","requestID":"2686b7cca7877b3b0ef17c3fefac2453","responseTime":16,"status":200,"url":"/experiments/a8a8a5e1-98bf-42cc-b5ed-4dfe5e50a63d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1NH0.k-A5R20goUH3KUQ3hm0QeLogHYU381FvE4ptMnpDaDE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f5f3a8b8c5d79cbe755b496322c78357","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/a8a8a5e1-98bf-42cc-b5ed-4dfe5e50a63d"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:54Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.233649,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:54Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a8a8a5e1-98bf-42cc-b5ed-4dfe5e50a63d","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/a8a8a5e1-98bf-42cc-b5ed-4dfe5e50a63d","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515354,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1NH0.k-A5R20goUH3KUQ3hm0QeLogHYU381FvE4ptMnpDaDE"} 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":"f5f3a8b8c5d79cbe755b496322c78357"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a8a8a5e1-98bf-42cc-b5ed-4dfe5e50a63d"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:54Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.295991,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:54Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e3798658-471d-4e4f-9221-c18601c70456","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:http://localhost/peerconnections/e3798658-471d-4e4f-9221-c18601c70456","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515354,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1NH0.k-A5R20goUH3KUQ3hm0QeLogHYU381FvE4ptMnpDaDE"} 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":"0ce33210-3dd1-11ef-ab4a-87fddd4f273f"},"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/e3798658-471d-4e4f-9221-c18601c70456' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/e3798658-471d-4e4f-9221-c18601c70456' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e3798658-471d-4e4f-9221-c18601c70456","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":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe3798658-471d-4e4f-9221-c18601c70456': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe3798658-471d-4e4f-9221-c18601c70456","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"8e7b5d44-2b8b-449c-9d9e-4e5d391e3689","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515354.5707083} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e965573ec41842a32c8007aaa39d073d","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/7b496392-7f44-4d33-b479-198a98087ff9"},{"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/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e3798658-471d-4e4f-9221-c18601c70456"}}},"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 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"348d14e1-90bc-4874-b85a-1b39548c5a1b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515354.571513} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"71291e9d18989dc13f80b31baa575b52","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":"0ce33210-3dd1-11ef-ab4a-87fddd4f273f"},"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":"closed","url":"http://localhost/devices/7b496392-7f44-4d33-b479-198a98087ff9"},{"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/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e3798658-471d-4e4f-9221-c18601c70456"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"e3798658-471d-4e4f-9221-c18601c70456","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/e3798658-471d-4e4f-9221-c18601c70456 204 49ms","method":"DELETE","requestID":"0ce33210-3dd1-11ef-ab4a-87fddd4f273f","responseTime":49,"status":204,"url":"/peerconnections/e3798658-471d-4e4f-9221-c18601c70456"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a8a8a5e1-98bf-42cc-b5ed-4dfe5e50a63d"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:54Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b496392-7f44-4d33-b479-198a98087ff9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7abb4ec7-a49d-4e95-8e2e-538d4a822ba3","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515354.6205578} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.876148,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b496392-7f44-4d33-b479-198a98087ff9","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7b496392-7f44-4d33-b479-198a98087ff9","object_type":"device","rebac_allow":false,"scope_allow":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":"0ced9250-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa8a8a5e1-98bf-42cc-b5ed-4dfe5e50a63d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa8a8a5e1-98bf-42cc-b5ed-4dfe5e50a63d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"1ae82186-7ad6-480e-84b1-f92bcf5b66c5","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515354.6239083} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"adc8724a-8c77-4f02-b31c-4a6773217cf5","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515354.6241553} 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":"f5f3a8b8c5d79cbe755b496322c78357"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/7b496392-7f44-4d33-b479-198a98087ff9/signaling 200 15ms","method":"POST","requestID":"0ced9250-3dd1-11ef-ab4a-87fddd4f273f","responseTime":15,"status":200,"url":"/devices/7b496392-7f44-4d33-b479-198a98087ff9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:54Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bb44459e-f215-458f-8677-69473d3359ab","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515354.638002} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.854374,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0","object_type":"device","rebac_allow":false,"scope_allow":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":"0cf05170-3dd1-11ef-ab4a-87fddd4f273f"},"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/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0/signaling 200 13ms","method":"POST","requestID":"0cf05170-3dd1-11ef-ab4a-87fddd4f273f","responseTime":13,"status":200,"url":"/devices/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/a8a8a5e1-98bf-42cc-b5ed-4dfe5e50a63d"} gateway-1 | {"time_local":"09/Jul/2024:08:55:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/a8a8a5e1-98bf-42cc-b5ed-4dfe5e50a63d HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.171","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f5f3a8b8c5d79cbe755b496322c78357"} gateway-1 | {"time_local":"09/Jul/2024:08:55:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2747","request_time":"2.657","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"7003e7488773755eb9125a0bca100a6d"} gateway-1 | {"time_local":"09/Jul/2024:08:55:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2745","request_time":"2.649","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"91b3af9a95ebbe39175f9c967a17a8c5"} experiment-1 | {"level":"info","message":"DELETE /experiments/a8a8a5e1-98bf-42cc-b5ed-4dfe5e50a63d 204 167ms","method":"DELETE","requestID":"f5f3a8b8c5d79cbe755b496322c78357","responseTime":167,"status":204,"url":"/experiments/a8a8a5e1-98bf-42cc-b5ed-4dfe5e50a63d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 125ms","method":"POST","requestID":"e965573ec41842a32c8007aaa39d073d","responseTime":125,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55: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.130","http_referrer":"","http_user_agent":"node-fetch","requestID":"e965573ec41842a32c8007aaa39d073d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 123ms","method":"POST","requestID":"71291e9d18989dc13f80b31baa575b52","responseTime":123,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55: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.131","http_referrer":"","http_user_agent":"node-fetch","requestID":"71291e9d18989dc13f80b31baa575b52"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1NH0.k-A5R20goUH3KUQ3hm0QeLogHYU381FvE4ptMnpDaDE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"cb29a913f0c128b1e0d3d8058e1b2e36","responseTime":5,"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/5f01cb6a-8c79-4366-8be3-0b358d7a2fa0' closed"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:54Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.016581,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:54Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515354,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1NH0.k-A5R20goUH3KUQ3hm0QeLogHYU381FvE4ptMnpDaDE"} 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":"cb29a913f0c128b1e0d3d8058e1b2e36"},"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/7b496392-7f44-4d33-b479-198a98087ff9' 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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1dfa9693-4892-42f9-9d3f-b0d954f8fb04","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"96136673-0f03-4004-be8f-e2a996dca776","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515354.7310476} 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":"cb29a913f0c128b1e0d3d8058e1b2e36"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"93e3fe1c-c220-4d16-9ff5-14163e90a777","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515354.7375095} 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":"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":"cb29a913f0c128b1e0d3d8058e1b2e36"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1dfa9693-4892-42f9-9d3f-b0d954f8fb04","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"b1388dd4-0507-4550-a3ff-ed9821705fa6","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515354.748207} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2ef4b80f-6fac-43d9-b5d1-63713dbc635e","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515354.7483556} 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":"cb29a913f0c128b1e0d3d8058e1b2e36"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1dfa9693-4892-42f9-9d3f-b0d954f8fb04","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1dfa9693-4892-42f9-9d3f-b0d954f8fb04","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:54.748172869Z"}]},"request_id":"e3239a95-82c3-4a00-9285-d675d6d59b90","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515354.7540495} 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":"cb29a913f0c128b1e0d3d8058e1b2e36"},"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":"09/Jul/2024:08:55: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.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cb29a913f0c128b1e0d3d8058e1b2e36"} device-1 | {"level":"info","message":"POST /devices? 201 53ms","method":"POST","requestID":"cb29a913f0c128b1e0d3d8058e1b2e36","responseTime":53,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1NH0.k-A5R20goUH3KUQ3hm0QeLogHYU381FvE4ptMnpDaDE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5c106ce4e8ced622d700eaa8ec186e0c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:54Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.906584,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:54Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515354,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1NH0.k-A5R20goUH3KUQ3hm0QeLogHYU381FvE4ptMnpDaDE"} 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":"5c106ce4e8ced622d700eaa8ec186e0c"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"396beee0-29f8-4849-ba5f-d6c0a2b6326a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515354.7795234} 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":"5c106ce4e8ced622d700eaa8ec186e0c"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d619f32d-237f-4b9e-9e57-c1cf17b5c87e","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515354.7848494} 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":"5c106ce4e8ced622d700eaa8ec186e0c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"73af530c-4c5c-4d32-ac8d-985aa8785de8","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515354.7944033} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ff334c58-6f4e-4ec0-9a5d-aa23966c9653","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515354.7945704} 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":"5c106ce4e8ced622d700eaa8ec186e0c"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:54.794369182Z"}]},"request_id":"80b8ed04-fe7c-41e0-856f-939f392768a4","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515354.7990026} 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":"5c106ce4e8ced622d700eaa8ec186e0c"},"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":"09/Jul/2024:08:55: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.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5c106ce4e8ced622d700eaa8ec186e0c"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"5c106ce4e8ced622d700eaa8ec186e0c","responseTime":39,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1NX0.xQrYWvT4sZlgRJ89vFEPhX5fUH3nFhhJOotWYrph0lk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"7a81998cea4565b575a8fd9515b29e01","responseTime":8,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1NX0.xQrYWvT4sZlgRJ89vFEPhX5fUH3nFhhJOotWYrph0lk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"2c359ef9c37e3d18b79b84d4e8348c5e","responseTime":7,"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:44070","level":"info","msg":"Received request.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:55Z"} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Received request.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.536144,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:55Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515355,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1NX0.xQrYWvT4sZlgRJ89vFEPhX5fUH3nFhhJOotWYrph0lk"} 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":"7a81998cea4565b575a8fd9515b29e01"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Sent response.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.767686,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:55Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1dfa9693-4892-42f9-9d3f-b0d954f8fb04","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/1dfa9693-4892-42f9-9d3f-b0d954f8fb04","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515355,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1NX0.xQrYWvT4sZlgRJ89vFEPhX5fUH3nFhhJOotWYrph0lk"} 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":"2c359ef9c37e3d18b79b84d4e8348c5e"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:54.794369182Z"}]},"request_id":"016b88a5-8818-47a4-baa8-d22d2b96ebe1","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515355.2925184} 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":"7a81998cea4565b575a8fd9515b29e01"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1dfa9693-4892-42f9-9d3f-b0d954f8fb04","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1dfa9693-4892-42f9-9d3f-b0d954f8fb04","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:54.748172869Z"}]},"request_id":"129e6f1c-7cb5-4200-bb4f-a3cfe3351ba3","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515355.2937944} 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":"2c359ef9c37e3d18b79b84d4e8348c5e"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"28874c66-c101-43f4-8820-8e7c388703cb","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515355.2982156} 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":"7a81998cea4565b575a8fd9515b29e01"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"549a64aa-72de-4142-8179-a2cbd7e88f00","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515355.2999713} 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":"2c359ef9c37e3d18b79b84d4e8348c5e"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1dfa9693-4892-42f9-9d3f-b0d954f8fb04","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1dfa9693-4892-42f9-9d3f-b0d954f8fb04","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:54.748172869Z"}]},"request_id":"43161c21-465a-416e-a5fa-285f7f95cae5","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515355.3035932} 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":"2c359ef9c37e3d18b79b84d4e8348c5e"},"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/1dfa9693-4892-42f9-9d3f-b0d954f8fb04 200 24ms","method":"PATCH","requestID":"2c359ef9c37e3d18b79b84d4e8348c5e","responseTime":24,"status":200,"url":"/devices/1dfa9693-4892-42f9-9d3f-b0d954f8fb04"} gateway-1 | {"time_local":"09/Jul/2024:08:55:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/1dfa9693-4892-42f9-9d3f-b0d954f8fb04 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.034","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"2c359ef9c37e3d18b79b84d4e8348c5e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1NX0.xQrYWvT4sZlgRJ89vFEPhX5fUH3nFhhJOotWYrph0lk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a5193ff017e705838a9959ab4d5aa90b","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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:54.794369182Z"}]},"request_id":"15ba415d-e882-4b4c-aafe-d2d833a72b7a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515355.314453} 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":"7a81998cea4565b575a8fd9515b29e01"},"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:44070","level":"info","msg":"Received request.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.843658,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:55Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1dfa9693-4892-42f9-9d3f-b0d954f8fb04","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/1dfa9693-4892-42f9-9d3f-b0d954f8fb04","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515355,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1NX0.xQrYWvT4sZlgRJ89vFEPhX5fUH3nFhhJOotWYrph0lk"} gateway-1 | {"time_local":"09/Jul/2024:08:55:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.046","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"7a81998cea4565b575a8fd9515b29e01"} 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":"a5193ff017e705838a9959ab4d5aa90b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"PATCH /devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93 200 36ms","method":"PATCH","requestID":"7a81998cea4565b575a8fd9515b29e01","responseTime":36,"status":200,"url":"/devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1NX0.xQrYWvT4sZlgRJ89vFEPhX5fUH3nFhhJOotWYrph0lk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"73e8b1351a31428e3d6d950d2b76c3fb","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.707076,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:55Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515355,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1NX0.xQrYWvT4sZlgRJ89vFEPhX5fUH3nFhhJOotWYrph0lk"} 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":"73e8b1351a31428e3d6d950d2b76c3fb"},"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/1dfa9693-4892-42f9-9d3f-b0d954f8fb04/websocket 200 17ms","method":"POST","requestID":"a5193ff017e705838a9959ab4d5aa90b","responseTime":17,"status":200,"url":"/devices/1dfa9693-4892-42f9-9d3f-b0d954f8fb04/websocket"} gateway-1 | {"time_local":"09/Jul/2024:08:55:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1dfa9693-4892-42f9-9d3f-b0d954f8fb04/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":"a5193ff017e705838a9959ab4d5aa90b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"09/Jul/2024:08:55:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.019","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"73e8b1351a31428e3d6d950d2b76c3fb"} device-1 | {"level":"info","message":"POST /devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93/websocket 200 16ms","method":"POST","requestID":"73e8b1351a31428e3d6d950d2b76c3fb","responseTime":16,"status":200,"url":"/devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1dfa9693-4892-42f9-9d3f-b0d954f8fb04' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1NX0.xQrYWvT4sZlgRJ89vFEPhX5fUH3nFhhJOotWYrph0lk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e31368c12febb151518a1ef8f7c1cb60","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.714691,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1dfa9693-4892-42f9-9d3f-b0d954f8fb04","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/1dfa9693-4892-42f9-9d3f-b0d954f8fb04","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515355,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1NX0.xQrYWvT4sZlgRJ89vFEPhX5fUH3nFhhJOotWYrph0lk"} 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":"e31368c12febb151518a1ef8f7c1cb60"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1dfa9693-4892-42f9-9d3f-b0d954f8fb04","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1dfa9693-4892-42f9-9d3f-b0d954f8fb04","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:54.748172869Z"}]},"request_id":"fb460289-c09b-4375-a6b3-db920b405a64","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515355.3736064} 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":"e31368c12febb151518a1ef8f7c1cb60"},"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/1dfa9693-4892-42f9-9d3f-b0d954f8fb04? 200 12ms","method":"GET","requestID":"e31368c12febb151518a1ef8f7c1cb60","responseTime":12,"status":200,"url":"/devices/1dfa9693-4892-42f9-9d3f-b0d954f8fb04?"} gateway-1 | {"time_local":"09/Jul/2024:08:55:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1dfa9693-4892-42f9-9d3f-b0d954f8fb04? 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":"e31368c12febb151518a1ef8f7c1cb60"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1NX0.xQrYWvT4sZlgRJ89vFEPhX5fUH3nFhhJOotWYrph0lk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"74e615dc528e4a5397098a9a7c16cc24","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.736648,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515355,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1NX0.xQrYWvT4sZlgRJ89vFEPhX5fUH3nFhhJOotWYrph0lk"} 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":"74e615dc528e4a5397098a9a7c16cc24"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:54.794369182Z"}]},"request_id":"0a2fb2a2-30d6-4a8d-acd9-3877298077a9","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515355.3922262} 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":"74e615dc528e4a5397098a9a7c16cc24"},"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":"09/Jul/2024:08:55:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93? 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":"74e615dc528e4a5397098a9a7c16cc24"} device-1 | {"level":"info","message":"GET /devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93? 200 11ms","method":"GET","requestID":"74e615dc528e4a5397098a9a7c16cc24","responseTime":11,"status":200,"url":"/devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1NX0.xQrYWvT4sZlgRJ89vFEPhX5fUH3nFhhJOotWYrph0lk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2c88d82460002aab5e0fba185e343319","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:44070","level":"info","msg":"Received request.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.706171,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515355,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1NX0.xQrYWvT4sZlgRJ89vFEPhX5fUH3nFhhJOotWYrph0lk"} 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":"2c88d82460002aab5e0fba185e343319"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2abbe5b9-146d-4f15-a38c-d90de474368c"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2abbe5b9-146d-4f15-a38c-d90de474368c"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2abbe5b9-146d-4f15-a38c-d90de474368c"},"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:44070","level":"info","msg":"Received request.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.485625,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:55Z"} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Received request.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1dfa9693-4892-42f9-9d3f-b0d954f8fb04","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/1dfa9693-4892-42f9-9d3f-b0d954f8fb04","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515355,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1NX0.xQrYWvT4sZlgRJ89vFEPhX5fUH3nFhhJOotWYrph0lk"} 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":"0d6cad60-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Sent response.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.839953,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515355,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1NX0.xQrYWvT4sZlgRJ89vFEPhX5fUH3nFhhJOotWYrph0lk"} 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":"0d6d2290-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1dfa9693-4892-42f9-9d3f-b0d954f8fb04","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1dfa9693-4892-42f9-9d3f-b0d954f8fb04","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:54.748172869Z"}]},"request_id":"06b73917-0e4a-43bf-8c70-814d7c3d0bb8","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515355.4595845} 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":"0d6cad60-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:54.794369182Z"}]},"request_id":"ac62edd3-5972-40f8-b8c1-b6da11b98883","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515355.4608445} 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":"0d6d2290-3dd1-11ef-ab4a-87fddd4f273f"},"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/1dfa9693-4892-42f9-9d3f-b0d954f8fb04? 200 19ms","method":"GET","requestID":"0d6cad60-3dd1-11ef-ab4a-87fddd4f273f","responseTime":19,"status":200,"url":"/devices/1dfa9693-4892-42f9-9d3f-b0d954f8fb04?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93? 200 16ms","method":"GET","requestID":"0d6d2290-3dd1-11ef-ab4a-87fddd4f273f","responseTime":16,"status":200,"url":"/devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2abbe5b9-146d-4f15-a38c-d90de474368c"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2abbe5b9-146d-4f15-a38c-d90de474368c"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2abbe5b9-146d-4f15-a38c-d90de474368c"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2abbe5b9-146d-4f15-a38c-d90de474368c"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2abbe5b9-146d-4f15-a38c-d90de474368c"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2abbe5b9-146d-4f15-a38c-d90de474368c"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2abbe5b9-146d-4f15-a38c-d90de474368c"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2abbe5b9-146d-4f15-a38c-d90de474368c"},"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/2abbe5b9-146d-4f15-a38c-d90de474368c"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:55Z"} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Received request.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.040637,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:55Z"} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Sent response.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.801502,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1dfa9693-4892-42f9-9d3f-b0d954f8fb04","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/1dfa9693-4892-42f9-9d3f-b0d954f8fb04","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515355,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1NX0.xQrYWvT4sZlgRJ89vFEPhX5fUH3nFhhJOotWYrph0lk"} 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":"0d762340-3dd1-11ef-ab4a-87fddd4f273f"},"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/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515355,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1NX0.xQrYWvT4sZlgRJ89vFEPhX5fUH3nFhhJOotWYrph0lk"} 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":"0d764a50-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:44208","level":"info","msg":"Received request.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:55Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1dfa9693-4892-42f9-9d3f-b0d954f8fb04","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1dfa9693-4892-42f9-9d3f-b0d954f8fb04","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:54.748172869Z"}]},"request_id":"5ee70b97-ac71-459e-b729-10146ebc4bf4","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515355.5198288} 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":"0d762340-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:54.794369182Z"}]},"request_id":"be40b973-a20c-461f-9de3-997622c06f90","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515355.5215263} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1dfa9693-4892-42f9-9d3f-b0d954f8fb04","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"919044ae-f009-4488-9cb5-ab8dfb97d8a8","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515355.522354} 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":"0d764a50-3dd1-11ef-ab4a-87fddd4f273f"},"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:44208","level":"info","msg":"Sent response.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.402211,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1dfa9693-4892-42f9-9d3f-b0d954f8fb04","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1dfa9693-4892-42f9-9d3f-b0d954f8fb04","object_type":"device","rebac_allow":false,"scope_allow":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":"0d767160-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/1dfa9693-4892-42f9-9d3f-b0d954f8fb04? 200 20ms","method":"GET","requestID":"0d762340-3dd1-11ef-ab4a-87fddd4f273f","responseTime":20,"status":200,"url":"/devices/1dfa9693-4892-42f9-9d3f-b0d954f8fb04?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93? 200 20ms","method":"GET","requestID":"0d764a50-3dd1-11ef-ab4a-87fddd4f273f","responseTime":20,"status":200,"url":"/devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/1dfa9693-4892-42f9-9d3f-b0d954f8fb04/signaling 200 20ms","method":"POST","requestID":"0d767160-3dd1-11ef-ab4a-87fddd4f273f","responseTime":20,"status":200,"url":"/devices/1dfa9693-4892-42f9-9d3f-b0d954f8fb04/signaling"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2abbe5b9-146d-4f15-a38c-d90de474368c#owner@http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2abbe5b9-146d-4f15-a38c-d90de474368c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"3e7b80af-c1a5-487f-bf26-d87086e067d0","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515355.530611} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1faff025-6e52-43f4-9a82-f5e55e83e601","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515355.5308578} 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":"2c88d82460002aab5e0fba185e343319"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:55Z"} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Received request.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:55Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1dfa9693-4892-42f9-9d3f-b0d954f8fb04","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6ff3abde-544d-4ef1-aec6-e0ad43a18c15","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515355.5379977} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aa60a7e2-d592-4ec0-898a-a9d44dc9ae15","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515355.5383844} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.455003,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1dfa9693-4892-42f9-9d3f-b0d954f8fb04","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1dfa9693-4892-42f9-9d3f-b0d954f8fb04","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/2abbe5b9-146d-4f15-a38c-d90de474368c","user":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"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":"0d79a5b0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} gateway-1 | {"time_local":"09/Jul/2024:08:55:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.143","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2c88d82460002aab5e0fba185e343319"} experiment-1 | {"level":"info","message":"POST /experiments? 201 137ms","method":"POST","requestID":"2c88d82460002aab5e0fba185e343319","responseTime":137,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Sent response.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.906179,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","object_type":"device","rebac_allow":false,"scope_allow":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":"0d79f3d0-3dd1-11ef-ab4a-87fddd4f273f"},"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/1dfa9693-4892-42f9-9d3f-b0d954f8fb04/signaling 200 13ms","method":"POST","requestID":"0d79a5b0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":13,"status":200,"url":"/devices/1dfa9693-4892-42f9-9d3f-b0d954f8fb04/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1NX0.xQrYWvT4sZlgRJ89vFEPhX5fUH3nFhhJOotWYrph0lk","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93/signaling 200 12ms","method":"POST","requestID":"0d79f3d0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":12,"status":200,"url":"/devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"862635e06453f1fa441e737250c2711d","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:48816","level":"info","msg":"Received request.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.077239,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1dfa9693-4892-42f9-9d3f-b0d954f8fb04","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/1dfa9693-4892-42f9-9d3f-b0d954f8fb04","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515355,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1NX0.xQrYWvT4sZlgRJ89vFEPhX5fUH3nFhhJOotWYrph0lk"} 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":"862635e06453f1fa441e737250c2711d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Sent response.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.206012,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:55Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"60f99903-7d38-49bc-b49c-053fee6b26a3","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515355.5559518} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","object_type":"device","rebac_allow":false,"scope_allow":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":"0d7c16b0-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1dfa9693-4892-42f9-9d3f-b0d954f8fb04","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1dfa9693-4892-42f9-9d3f-b0d954f8fb04","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:54.748172869Z"}]},"request_id":"7b573db9-0db4-43df-b4c5-30cf2fe1546a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515355.5616927} 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":"862635e06453f1fa441e737250c2711d"},"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/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93/signaling 200 17ms","method":"POST","requestID":"0d7c16b0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":17,"status":200,"url":"/devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2abbe5b9-146d-4f15-a38c-d90de474368c"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2abbe5b9-146d-4f15-a38c-d90de474368c"},"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":"b2c6e18a-35e6-4aaa-a935-5184a99e0e26"},{"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":"85599a63-a499-4d5a-b7dc-0c93bda5d8e8"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"0dfc43e1-f135-41fd-8f89-d9a36fb42211"}]},"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/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93"},{"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/1dfa9693-4892-42f9-9d3f-b0d954f8fb04"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"09/Jul/2024:08:55:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1dfa9693-4892-42f9-9d3f-b0d954f8fb04? 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":"862635e06453f1fa441e737250c2711d"} device-1 | {"level":"info","message":"GET /devices/1dfa9693-4892-42f9-9d3f-b0d954f8fb04? 200 21ms","method":"GET","requestID":"862635e06453f1fa441e737250c2711d","responseTime":21,"status":200,"url":"/devices/1dfa9693-4892-42f9-9d3f-b0d954f8fb04?"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.94251,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:55Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1NX0.xQrYWvT4sZlgRJ89vFEPhX5fUH3nFhhJOotWYrph0lk","level":"info","message":"auth send jwt"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515355,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1NX0.xQrYWvT4sZlgRJ89vFEPhX5fUH3nFhhJOotWYrph0lk"} 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":"0d7f4b00-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"df9ea11752cd6a82047154806e942c6e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.681724,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515355,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1NX0.xQrYWvT4sZlgRJ89vFEPhX5fUH3nFhhJOotWYrph0lk"} 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":"df9ea11752cd6a82047154806e942c6e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","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%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"79e852ce-8444-4a7d-a925-53d48a949e02","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515355.5819216} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d9b8d654-7463-4bf7-b0e4-0e3d2cc21799","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515355.5820858} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:54.794369182Z"}]},"request_id":"312e5e5f-666b-4034-995d-dece5732e284","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515355.582574} 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":"0d7f4b00-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} 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":"df9ea11752cd6a82047154806e942c6e"},"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/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93? 200 13ms","method":"GET","requestID":"df9ea11752cd6a82047154806e942c6e","responseTime":13,"status":200,"url":"/devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93?"} gateway-1 | {"time_local":"09/Jul/2024:08:55:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93? 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":"df9ea11752cd6a82047154806e942c6e"} 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/898b9c4e-5ea1-472f-b60e-4862eb5bb419'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/898b9c4e-5ea1-472f-b60e-4862eb5bb419'"} 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 26ms","method":"POST","requestID":"0d7f4b00-3dd1-11ef-ab4a-87fddd4f273f","responseTime":26,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2abbe5b9-146d-4f15-a38c-d90de474368c"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:55Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1dfa9693-4892-42f9-9d3f-b0d954f8fb04","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dbc7db15-d6e8-4e5b-bdfc-9272aa61ed0b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515355.6230836} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.450679,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1dfa9693-4892-42f9-9d3f-b0d954f8fb04","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1dfa9693-4892-42f9-9d3f-b0d954f8fb04","object_type":"device","rebac_allow":false,"scope_allow":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":"0d86ec20-3dd1-11ef-ab4a-87fddd4f273f"},"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/1dfa9693-4892-42f9-9d3f-b0d954f8fb04/signaling 200 8ms","method":"POST","requestID":"0d86ec20-3dd1-11ef-ab4a-87fddd4f273f","responseTime":8,"status":200,"url":"/devices/1dfa9693-4892-42f9-9d3f-b0d954f8fb04/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:55Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"426d17ac-3151-473a-b0ca-a0cbde335460","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515355.632617} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.12611,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0d8872c0-3dd1-11ef-ab4a-87fddd4f273f"},"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/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93/signaling 200 8ms","method":"POST","requestID":"0d8872c0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":8,"status":200,"url":"/devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93/signaling"} device-1 | {"data":{"peerconnection":"898b9c4e-5ea1-472f-b60e-4862eb5bb419","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"898b9c4e-5ea1-472f-b60e-4862eb5bb419","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/898b9c4e-5ea1-472f-b60e-4862eb5bb419' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"898b9c4e-5ea1-472f-b60e-4862eb5bb419","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 0ms","method":"GET","requestID":"a6392e41be00dc6fef285a722b3a5782","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93"},{"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/1dfa9693-4892-42f9-9d3f-b0d954f8fb04"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/898b9c4e-5ea1-472f-b60e-4862eb5bb419"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"a6392e41be00dc6fef285a722b3a5782","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55: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.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"a6392e41be00dc6fef285a722b3a5782"} device-1 | {"data":{"peerconnection":"898b9c4e-5ea1-472f-b60e-4862eb5bb419","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"898b9c4e-5ea1-472f-b60e-4862eb5bb419","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/898b9c4e-5ea1-472f-b60e-4862eb5bb419' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"898b9c4e-5ea1-472f-b60e-4862eb5bb419","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":"ceebb1e8afe8190d3ca2e13710bae986","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/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93"},{"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/1dfa9693-4892-42f9-9d3f-b0d954f8fb04"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/898b9c4e-5ea1-472f-b60e-4862eb5bb419"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:57Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F898b9c4e-5ea1-472f-b60e-4862eb5bb419","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1d84fe11-d01a-4f72-8311-3281685fcac4","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515357.702809} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.20051,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/898b9c4e-5ea1-472f-b60e-4862eb5bb419","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/898b9c4e-5ea1-472f-b60e-4862eb5bb419","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":"0ec42710-3dd1-11ef-ab4a-87fddd4f273f"},"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/898b9c4e-5ea1-472f-b60e-4862eb5bb419 200 10ms","method":"GET","requestID":"0ec42710-3dd1-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/peerconnections/898b9c4e-5ea1-472f-b60e-4862eb5bb419"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 38ms","method":"POST","requestID":"ceebb1e8afe8190d3ca2e13710bae986","responseTime":38,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55: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.041","http_referrer":"","http_user_agent":"node-fetch","requestID":"ceebb1e8afe8190d3ca2e13710bae986"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:57Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e3f7f261-4ce5-4423-bfdf-00c37258db11","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515357.7360003} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.938988,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"0ec90910-3dd1-11ef-ab4a-87fddd4f273f"},"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/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93/signaling 200 13ms","method":"POST","requestID":"0ec90910-3dd1-11ef-ab4a-87fddd4f273f","responseTime":13,"status":200,"url":"/devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:57Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1dfa9693-4892-42f9-9d3f-b0d954f8fb04","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fbe9a1a6-bcc2-4084-8603-de2532d88673","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515357.7507439} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.754955,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1dfa9693-4892-42f9-9d3f-b0d954f8fb04","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1dfa9693-4892-42f9-9d3f-b0d954f8fb04","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"0ecb5300-3dd1-11ef-ab4a-87fddd4f273f"},"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/1dfa9693-4892-42f9-9d3f-b0d954f8fb04/signaling 200 12ms","method":"POST","requestID":"0ecb5300-3dd1-11ef-ab4a-87fddd4f273f","responseTime":12,"status":200,"url":"/devices/1dfa9693-4892-42f9-9d3f-b0d954f8fb04/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1N30.CDNZGI6-6GF_QA-l2VpCYf95-RrhwonmGfNoLnJa_BM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"76257457b32e72aaa3b047b4fb3f78a6","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/2abbe5b9-146d-4f15-a38c-d90de474368c"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:57Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.156383,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2abbe5b9-146d-4f15-a38c-d90de474368c","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/2abbe5b9-146d-4f15-a38c-d90de474368c","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515357,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1N30.CDNZGI6-6GF_QA-l2VpCYf95-RrhwonmGfNoLnJa_BM"} 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":"76257457b32e72aaa3b047b4fb3f78a6"},"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/2abbe5b9-146d-4f15-a38c-d90de474368c"} gateway-1 | {"time_local":"09/Jul/2024:08:55:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/2abbe5b9-146d-4f15-a38c-d90de474368c 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":"76257457b32e72aaa3b047b4fb3f78a6"} experiment-1 | {"level":"info","message":"GET /experiments/2abbe5b9-146d-4f15-a38c-d90de474368c 200 16ms","method":"GET","requestID":"76257457b32e72aaa3b047b4fb3f78a6","responseTime":16,"status":200,"url":"/experiments/2abbe5b9-146d-4f15-a38c-d90de474368c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1N30.CDNZGI6-6GF_QA-l2VpCYf95-RrhwonmGfNoLnJa_BM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7cf4bf4978583efa752ec726c720bc4c","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/2abbe5b9-146d-4f15-a38c-d90de474368c"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:57Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.212789,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:57Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2abbe5b9-146d-4f15-a38c-d90de474368c","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/2abbe5b9-146d-4f15-a38c-d90de474368c","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515357,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1N30.CDNZGI6-6GF_QA-l2VpCYf95-RrhwonmGfNoLnJa_BM"} 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":"7cf4bf4978583efa752ec726c720bc4c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2abbe5b9-146d-4f15-a38c-d90de474368c"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:57Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.332333,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:57Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/898b9c4e-5ea1-472f-b60e-4862eb5bb419","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:http://localhost/peerconnections/898b9c4e-5ea1-472f-b60e-4862eb5bb419","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515357,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1N30.CDNZGI6-6GF_QA-l2VpCYf95-RrhwonmGfNoLnJa_BM"} 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":"0ed89970-3dd1-11ef-ab4a-87fddd4f273f"},"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/898b9c4e-5ea1-472f-b60e-4862eb5bb419' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/898b9c4e-5ea1-472f-b60e-4862eb5bb419' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"898b9c4e-5ea1-472f-b60e-4862eb5bb419","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":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F898b9c4e-5ea1-472f-b60e-4862eb5bb419': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F898b9c4e-5ea1-472f-b60e-4862eb5bb419","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"db42dc55-7b96-484d-a793-d24a5ade8564","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515357.8583221} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5243661f5a843d9407dd2b34a98d0419","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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"de2a16a2-fcf9-4eb0-9eb7-01536ec65a21","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515357.8591096} 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":"closed","url":"http://localhost/devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93"},{"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/1dfa9693-4892-42f9-9d3f-b0d954f8fb04"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/898b9c4e-5ea1-472f-b60e-4862eb5bb419"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"241ded143ca47630641314f774dbcb23","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":"0ed89970-3dd1-11ef-ab4a-87fddd4f273f"},"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":[{"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/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93"},{"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/1dfa9693-4892-42f9-9d3f-b0d954f8fb04"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/898b9c4e-5ea1-472f-b60e-4862eb5bb419"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"898b9c4e-5ea1-472f-b60e-4862eb5bb419","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/898b9c4e-5ea1-472f-b60e-4862eb5bb419 204 49ms","method":"DELETE","requestID":"0ed89970-3dd1-11ef-ab4a-87fddd4f273f","responseTime":49,"status":204,"url":"/peerconnections/898b9c4e-5ea1-472f-b60e-4862eb5bb419"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2abbe5b9-146d-4f15-a38c-d90de474368c"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:57Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"73607af9-828f-4c75-bdb8-d9b20f6a7595","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515357.9128206} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.083248,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93","object_type":"device","rebac_allow":false,"scope_allow":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":"0ee3e410-3dd1-11ef-ab4a-87fddd4f273f"},"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/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93/signaling 200 15ms","method":"POST","requestID":"0ee3e410-3dd1-11ef-ab4a-87fddd4f273f","responseTime":15,"status":200,"url":"/devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93/signaling"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2abbe5b9-146d-4f15-a38c-d90de474368c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2abbe5b9-146d-4f15-a38c-d90de474368c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"80522684-5473-484d-b00c-64e17645bc96","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515357.9211721} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0014cc44-caeb-4587-a31e-a55e5a9a618e","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515357.9217968} 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":"7cf4bf4978583efa752ec726c720bc4c"},"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:44070","level":"info","msg":"Received request.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:57Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1dfa9693-4892-42f9-9d3f-b0d954f8fb04","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1eb0edc9-3a23-40eb-ad9d-541fc8651970","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515357.9311724} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.173658,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1dfa9693-4892-42f9-9d3f-b0d954f8fb04","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1dfa9693-4892-42f9-9d3f-b0d954f8fb04","object_type":"device","rebac_allow":false,"scope_allow":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":"0ee6a330-3dd1-11ef-ab4a-87fddd4f273f"},"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/1dfa9693-4892-42f9-9d3f-b0d954f8fb04/signaling 200 15ms","method":"POST","requestID":"0ee6a330-3dd1-11ef-ab4a-87fddd4f273f","responseTime":15,"status":200,"url":"/devices/1dfa9693-4892-42f9-9d3f-b0d954f8fb04/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/2abbe5b9-146d-4f15-a38c-d90de474368c"} gateway-1 | {"time_local":"09/Jul/2024:08:55:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/2abbe5b9-146d-4f15-a38c-d90de474368c 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":"7cf4bf4978583efa752ec726c720bc4c"} gateway-1 | {"time_local":"09/Jul/2024:08:55:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2747","request_time":"2.665","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"f07e4f61c1143f6233a724ef2305b82b"} experiment-1 | {"level":"info","message":"DELETE /experiments/2abbe5b9-146d-4f15-a38c-d90de474368c 204 184ms","method":"DELETE","requestID":"7cf4bf4978583efa752ec726c720bc4c","responseTime":184,"status":204,"url":"/experiments/2abbe5b9-146d-4f15-a38c-d90de474368c"} gateway-1 | {"time_local":"09/Jul/2024:08:55:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2745","request_time":"2.657","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"917affa99d7b61b48ebd0e58da0f1d19"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 140ms","method":"POST","requestID":"5243661f5a843d9407dd2b34a98d0419","responseTime":140,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.146","http_referrer":"","http_user_agent":"node-fetch","requestID":"5243661f5a843d9407dd2b34a98d0419"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/64e9ba8f-ed08-4fa6-abf1-a282e1cd5f93' closed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1OH0.bDOGnyREA-f1GfgQAAdnQ2m5nn80OMQvCDssf550StQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"2b37f8d929fd7b4b669fd2d35efe7d3d","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 141ms","method":"POST","requestID":"241ded143ca47630641314f774dbcb23","responseTime":141,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:55:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.148","http_referrer":"","http_user_agent":"node-fetch","requestID":"241ded143ca47630641314f774dbcb23"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:58Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.965148,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515358,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1OH0.bDOGnyREA-f1GfgQAAdnQ2m5nn80OMQvCDssf550StQ"} 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":"2b37f8d929fd7b4b669fd2d35efe7d3d"},"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/1dfa9693-4892-42f9-9d3f-b0d954f8fb04' 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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7feca5e8-8f13-48e0-b55b-b3bd0682e30c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"dacc74d7-6e23-45cb-972f-78e33cfb3871","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515358.0251584} 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":"2b37f8d929fd7b4b669fd2d35efe7d3d"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"31aaa9b2-7700-4cbb-8a52-df319bbddb72","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515358.0318272} 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":"2b37f8d929fd7b4b669fd2d35efe7d3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7feca5e8-8f13-48e0-b55b-b3bd0682e30c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"4080d724-657e-41ae-93b8-35382c949fa3","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515358.0438526} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9c551a08-02e5-487d-8083-76caff649a42","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515358.0441835} 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":"2b37f8d929fd7b4b669fd2d35efe7d3d"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7feca5e8-8f13-48e0-b55b-b3bd0682e30c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7feca5e8-8f13-48e0-b55b-b3bd0682e30c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:58.043820517Z"}]},"request_id":"09ba7740-5481-4074-83e6-6778b7454352","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515358.048634} 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":"2b37f8d929fd7b4b669fd2d35efe7d3d"},"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":"09/Jul/2024:08:55:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2b37f8d929fd7b4b669fd2d35efe7d3d"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"2b37f8d929fd7b4b669fd2d35efe7d3d","responseTime":46,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1OH0.bDOGnyREA-f1GfgQAAdnQ2m5nn80OMQvCDssf550StQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"601f50cfaa67934b73fdd03c9c111996","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:55:58Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.000073,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:55:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515358,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM1OH0.bDOGnyREA-f1GfgQAAdnQ2m5nn80OMQvCDssf550StQ"} 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":"601f50cfaa67934b73fdd03c9c111996"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F720596e7-1b77-413d-b47b-c973283a7146","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"09ffc27c-2404-4b10-8f5a-768ff9cd6ea0","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515358.0795503} 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":"601f50cfaa67934b73fdd03c9c111996"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3c9df1a1-1b6a-4fe2-94c0-9b592f05ebc4","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515358.0852861} 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":"601f50cfaa67934b73fdd03c9c111996"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F720596e7-1b77-413d-b47b-c973283a7146","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"f9540590-cc4b-4ab4-92ef-0a553e029415","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515358.0969133} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d25132a3-fb0d-40be-872d-814f5091558e","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515358.0971725} 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":"601f50cfaa67934b73fdd03c9c111996"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F720596e7-1b77-413d-b47b-c973283a7146","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F720596e7-1b77-413d-b47b-c973283a7146","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:58.096883166Z"}]},"request_id":"2293fc30-0e26-49a1-8f1f-3b59a0b66524","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515358.1021276} 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":"601f50cfaa67934b73fdd03c9c111996"},"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":"09/Jul/2024:08:55:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"601f50cfaa67934b73fdd03c9c111996"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"601f50cfaa67934b73fdd03c9c111996","responseTime":47,"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":"943ad07892ed7b641b2d1db2949e8666","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"09/Jul/2024:08:56:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/720596e7-1b77-413d-b47b-c973283a7146/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":"943ad07892ed7b641b2d1db2949e8666"} device-1 | {"level":"info","message":"OPTIONS /devices/720596e7-1b77-413d-b47b-c973283a7146/websocket 200 1ms","method":"OPTIONS","requestID":"943ad07892ed7b641b2d1db2949e8666","responseTime":1,"status":200,"url":"/devices/720596e7-1b77-413d-b47b-c973283a7146/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":"0b79b970340c59da45dc7a3876f0d782","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"09/Jul/2024:08:56:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c/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":"0b79b970340c59da45dc7a3876f0d782"} device-1 | {"level":"info","message":"OPTIONS /devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c/websocket 200 1ms","method":"OPTIONS","requestID":"0b79b970340c59da45dc7a3876f0d782","responseTime":1,"status":200,"url":"/devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2MH0.GwixApcGqLAu6IeZnMePQzpIgGPxqMwos8PARPq1kiI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ea19aef13b91db626b1fed4aa4dbcae7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2MH0.GwixApcGqLAu6IeZnMePQzpIgGPxqMwos8PARPq1kiI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"675e90f3e955099d1d36de0e44eeee2f","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:00Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.316664,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/720596e7-1b77-413d-b47b-c973283a7146","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/720596e7-1b77-413d-b47b-c973283a7146","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515360,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2MH0.GwixApcGqLAu6IeZnMePQzpIgGPxqMwos8PARPq1kiI"} 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":"ea19aef13b91db626b1fed4aa4dbcae7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.668962,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515360,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2MH0.GwixApcGqLAu6IeZnMePQzpIgGPxqMwos8PARPq1kiI"} 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":"675e90f3e955099d1d36de0e44eeee2f"},"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/720596e7-1b77-413d-b47b-c973283a7146/websocket 200 23ms","method":"POST","requestID":"ea19aef13b91db626b1fed4aa4dbcae7","responseTime":23,"status":200,"url":"/devices/720596e7-1b77-413d-b47b-c973283a7146/websocket"} gateway-1 | {"time_local":"09/Jul/2024:08:56:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/720596e7-1b77-413d-b47b-c973283a7146/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.029","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ea19aef13b91db626b1fed4aa4dbcae7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"09/Jul/2024:08:56:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.035","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"675e90f3e955099d1d36de0e44eeee2f"} device-1 | {"level":"info","message":"POST /devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c/websocket 200 30ms","method":"POST","requestID":"675e90f3e955099d1d36de0e44eeee2f","responseTime":30,"status":200,"url":"/devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/720596e7-1b77-413d-b47b-c973283a7146' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2MH0.GwixApcGqLAu6IeZnMePQzpIgGPxqMwos8PARPq1kiI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"92943ace81c11ad332ca62bc1126ba6d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.700139,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515360,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2MH0.GwixApcGqLAu6IeZnMePQzpIgGPxqMwos8PARPq1kiI"} 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":"92943ace81c11ad332ca62bc1126ba6d"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7feca5e8-8f13-48e0-b55b-b3bd0682e30c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7feca5e8-8f13-48e0-b55b-b3bd0682e30c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:58.043820517Z"}]},"request_id":"16853edf-9aba-432f-8c3b-4cee9fa7ca81","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515360.1608343} 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":"92943ace81c11ad332ca62bc1126ba6d"},"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":"09/Jul/2024:08:56:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c? 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":"92943ace81c11ad332ca62bc1126ba6d"} device-1 | {"level":"info","message":"GET /devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c? 200 18ms","method":"GET","requestID":"92943ace81c11ad332ca62bc1126ba6d","responseTime":18,"status":200,"url":"/devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2MH0.GwixApcGqLAu6IeZnMePQzpIgGPxqMwos8PARPq1kiI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d175a6abe01b64dd2f074524ddfe0c58","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.146753,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/720596e7-1b77-413d-b47b-c973283a7146","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/720596e7-1b77-413d-b47b-c973283a7146","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515360,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2MH0.GwixApcGqLAu6IeZnMePQzpIgGPxqMwos8PARPq1kiI"} 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":"d175a6abe01b64dd2f074524ddfe0c58"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F720596e7-1b77-413d-b47b-c973283a7146","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F720596e7-1b77-413d-b47b-c973283a7146","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:58.096883166Z"}]},"request_id":"ca79aafb-bd77-4e2a-bbc6-a7c8b6e4847c","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515360.1858144} 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":"d175a6abe01b64dd2f074524ddfe0c58"},"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/720596e7-1b77-413d-b47b-c973283a7146? 200 14ms","method":"GET","requestID":"d175a6abe01b64dd2f074524ddfe0c58","responseTime":14,"status":200,"url":"/devices/720596e7-1b77-413d-b47b-c973283a7146?"} gateway-1 | {"time_local":"09/Jul/2024:08:56:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/720596e7-1b77-413d-b47b-c973283a7146? 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":"d175a6abe01b64dd2f074524ddfe0c58"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2MH0.GwixApcGqLAu6IeZnMePQzpIgGPxqMwos8PARPq1kiI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"60ccc12f6a48ca870070ba53987549de","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:44070","level":"info","msg":"Received request.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.091157,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515360,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2MH0.GwixApcGqLAu6IeZnMePQzpIgGPxqMwos8PARPq1kiI"} 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":"60ccc12f6a48ca870070ba53987549de"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/11151d23-d73b-44ce-8c8b-960f3a8f86b8"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/11151d23-d73b-44ce-8c8b-960f3a8f86b8"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/11151d23-d73b-44ce-8c8b-960f3a8f86b8"},"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:44070","level":"info","msg":"Received request.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.900733,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Received request.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515360,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2MH0.GwixApcGqLAu6IeZnMePQzpIgGPxqMwos8PARPq1kiI"} 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":"104807f0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Sent response.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.225269,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/720596e7-1b77-413d-b47b-c973283a7146","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/720596e7-1b77-413d-b47b-c973283a7146","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515360,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2MH0.GwixApcGqLAu6IeZnMePQzpIgGPxqMwos8PARPq1kiI"} 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":"10485610-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7feca5e8-8f13-48e0-b55b-b3bd0682e30c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7feca5e8-8f13-48e0-b55b-b3bd0682e30c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:58.043820517Z"}]},"request_id":"52a2eb39-66e1-403f-ad17-8385fe91182f","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515360.2510214} 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":"104807f0-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F720596e7-1b77-413d-b47b-c973283a7146","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F720596e7-1b77-413d-b47b-c973283a7146","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:58.096883166Z"}]},"request_id":"d98ecf54-c891-492f-b903-2450b8d19552","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515360.2522001} 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":"10485610-3dd1-11ef-ab4a-87fddd4f273f"},"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/7feca5e8-8f13-48e0-b55b-b3bd0682e30c? 200 19ms","method":"GET","requestID":"104807f0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":19,"status":200,"url":"/devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/720596e7-1b77-413d-b47b-c973283a7146? 200 18ms","method":"GET","requestID":"10485610-3dd1-11ef-ab4a-87fddd4f273f","responseTime":18,"status":200,"url":"/devices/720596e7-1b77-413d-b47b-c973283a7146?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/11151d23-d73b-44ce-8c8b-960f3a8f86b8"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/11151d23-d73b-44ce-8c8b-960f3a8f86b8"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/11151d23-d73b-44ce-8c8b-960f3a8f86b8"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/11151d23-d73b-44ce-8c8b-960f3a8f86b8"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/11151d23-d73b-44ce-8c8b-960f3a8f86b8"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/11151d23-d73b-44ce-8c8b-960f3a8f86b8"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/11151d23-d73b-44ce-8c8b-960f3a8f86b8"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/11151d23-d73b-44ce-8c8b-960f3a8f86b8"},"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:44070","level":"info","msg":"Received request.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:00Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/11151d23-d73b-44ce-8c8b-960f3a8f86b8"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.289964,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Received request.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515360,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2MH0.GwixApcGqLAu6IeZnMePQzpIgGPxqMwos8PARPq1kiI"} 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":"10521a10-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Sent response.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.100606,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/720596e7-1b77-413d-b47b-c973283a7146","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/720596e7-1b77-413d-b47b-c973283a7146","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515360,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2MH0.GwixApcGqLAu6IeZnMePQzpIgGPxqMwos8PARPq1kiI"} 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":"10526830-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7feca5e8-8f13-48e0-b55b-b3bd0682e30c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ae6c59e0-606f-4438-809d-3e886998bfcd","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515360.3158085} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.968717,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c","object_type":"device","rebac_allow":false,"scope_allow":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":"1052b650-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7feca5e8-8f13-48e0-b55b-b3bd0682e30c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7feca5e8-8f13-48e0-b55b-b3bd0682e30c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:58.043820517Z"}]},"request_id":"84ca4417-b3e6-4c6c-9f9b-5d5c369fbb18","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515360.3183289} 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":"10521a10-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F720596e7-1b77-413d-b47b-c973283a7146","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F720596e7-1b77-413d-b47b-c973283a7146","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:58.096883166Z"}]},"request_id":"d46ceb9e-8b8f-4934-84ed-85571f13b341","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515360.3219297} device-1 | {"level":"info","message":"POST /devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c/signaling 200 14ms","method":"POST","requestID":"1052b650-3dd1-11ef-ab4a-87fddd4f273f","responseTime":14,"status":200,"url":"/devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c/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":"10526830-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:00Z"} device-1 | {"level":"info","message":"GET /devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c? 200 25ms","method":"GET","requestID":"10521a10-3dd1-11ef-ab4a-87fddd4f273f","responseTime":25,"status":200,"url":"/devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/720596e7-1b77-413d-b47b-c973283a7146? 200 25ms","method":"GET","requestID":"10526830-3dd1-11ef-ab4a-87fddd4f273f","responseTime":25,"status":200,"url":"/devices/720596e7-1b77-413d-b47b-c973283a7146?"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F720596e7-1b77-413d-b47b-c973283a7146","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"99f1b622-00d8-41e4-ac50-16d2fd77b84d","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515360.3322527} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.291034,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/720596e7-1b77-413d-b47b-c973283a7146","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/720596e7-1b77-413d-b47b-c973283a7146","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"10554e60-3dd1-11ef-ab4a-87fddd4f273f"},"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":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"96461e3d-1f4f-4b53-9cd8-5cb92f681395","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515360.333634} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F11151d23-d73b-44ce-8c8b-960f3a8f86b8#owner@http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F11151d23-d73b-44ce-8c8b-960f3a8f86b8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"c88cc31d-6db8-473b-bebd-ed0ebad891bd","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515360.3339727} 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":"60ccc12f6a48ca870070ba53987549de"},"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:44070","level":"info","msg":"Received request.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:00Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/720596e7-1b77-413d-b47b-c973283a7146/signaling 200 13ms","method":"POST","requestID":"10554e60-3dd1-11ef-ab4a-87fddd4f273f","responseTime":13,"status":200,"url":"/devices/720596e7-1b77-413d-b47b-c973283a7146/signaling"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7feca5e8-8f13-48e0-b55b-b3bd0682e30c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"74006dcb-d23b-4200-bd62-b0216ea870fa","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515360.3403647} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.043645,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"1056adf0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/11151d23-d73b-44ce-8c8b-960f3a8f86b8","user":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment-1 | {"level":"info","message":"POST /experiments? 201 148ms","method":"POST","requestID":"60ccc12f6a48ca870070ba53987549de","responseTime":148,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"09/Jul/2024:08:56:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.153","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"60ccc12f6a48ca870070ba53987549de"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c/signaling 200 10ms","method":"POST","requestID":"1056adf0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:00Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2MH0.GwixApcGqLAu6IeZnMePQzpIgGPxqMwos8PARPq1kiI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"841403c4c757aef5d15de9c982fee8cd","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F720596e7-1b77-413d-b47b-c973283a7146","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f9531b8e-e1d5-4675-a4cb-699af58f8c86","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515360.3512194} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.453144,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/720596e7-1b77-413d-b47b-c973283a7146","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/720596e7-1b77-413d-b47b-c973283a7146","object_type":"device","rebac_allow":false,"scope_allow":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":"105882b0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Received request.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:00Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Sent response.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.634277,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:00Z"} device-1 | {"level":"info","message":"POST /devices/720596e7-1b77-413d-b47b-c973283a7146/signaling 200 8ms","method":"POST","requestID":"105882b0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":8,"status":200,"url":"/devices/720596e7-1b77-413d-b47b-c973283a7146/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515360,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2MH0.GwixApcGqLAu6IeZnMePQzpIgGPxqMwos8PARPq1kiI"} 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":"841403c4c757aef5d15de9c982fee8cd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/11151d23-d73b-44ce-8c8b-960f3a8f86b8"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/11151d23-d73b-44ce-8c8b-960f3a8f86b8"},"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":"c898ede2-750d-40bb-a846-89b6f2fad84e"},{"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":"8ef84814-dec2-44f1-87b5-1cafe241afb6"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"a4628405-6ddb-4b7c-ac0a-81ce63912665"}]},"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/7feca5e8-8f13-48e0-b55b-b3bd0682e30c"},{"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/720596e7-1b77-413d-b47b-c973283a7146"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections 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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7feca5e8-8f13-48e0-b55b-b3bd0682e30c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7feca5e8-8f13-48e0-b55b-b3bd0682e30c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:58.043820517Z"}]},"request_id":"149105ab-b40f-4879-89a6-2f1ac97d3418","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515360.3592544} 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":"841403c4c757aef5d15de9c982fee8cd"},"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:44070","level":"info","msg":"Received request.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:00Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.753793,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:00Z"} gateway-1 | {"time_local":"09/Jul/2024:08:56:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c? 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":"841403c4c757aef5d15de9c982fee8cd"} device-1 | {"level":"info","message":"GET /devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c? 200 12ms","method":"GET","requestID":"841403c4c757aef5d15de9c982fee8cd","responseTime":12,"status":200,"url":"/devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c?"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515360,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2MH0.GwixApcGqLAu6IeZnMePQzpIgGPxqMwos8PARPq1kiI"} 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":"105a3060-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2MH0.GwixApcGqLAu6IeZnMePQzpIgGPxqMwos8PARPq1kiI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d83020e3b680c22a25594bcdec3dd0ec","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","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%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"a80d55c9-18ce-4f9b-bea7-5cb5f773a353","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515360.371674} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4ede819d-74a2-4ced-bd34-0bd906dc3932","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515360.3719943} 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":"105a3060-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.831636,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/720596e7-1b77-413d-b47b-c973283a7146","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/720596e7-1b77-413d-b47b-c973283a7146","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515360,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2MH0.GwixApcGqLAu6IeZnMePQzpIgGPxqMwos8PARPq1kiI"} 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":"d83020e3b680c22a25594bcdec3dd0ec"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F720596e7-1b77-413d-b47b-c973283a7146","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F720596e7-1b77-413d-b47b-c973283a7146","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:55:58.096883166Z"}]},"request_id":"9cbc17b6-afa1-4ffb-86fe-25c1431f8a41","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515360.382168} 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":"d83020e3b680c22a25594bcdec3dd0ec"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} 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/f2da4382-ab35-4358-9c55-fff7cd92b961'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/f2da4382-ab35-4358-9c55-fff7cd92b961'"} 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":"105a3060-3dd1-11ef-ab4a-87fddd4f273f","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":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/720596e7-1b77-413d-b47b-c973283a7146? 200 24ms","method":"GET","requestID":"d83020e3b680c22a25594bcdec3dd0ec","responseTime":24,"status":200,"url":"/devices/720596e7-1b77-413d-b47b-c973283a7146?"} gateway-1 | {"time_local":"09/Jul/2024:08:56:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/720596e7-1b77-413d-b47b-c973283a7146? 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":"d83020e3b680c22a25594bcdec3dd0ec"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/11151d23-d73b-44ce-8c8b-960f3a8f86b8"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7feca5e8-8f13-48e0-b55b-b3bd0682e30c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7b673966-a5d3-416c-9352-76c3dfa1ca4f","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515360.4222324} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.145137,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c","object_type":"device","rebac_allow":false,"scope_allow":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":"10635820-3dd1-11ef-ab4a-87fddd4f273f"},"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/7feca5e8-8f13-48e0-b55b-b3bd0682e30c/signaling 200 7ms","method":"POST","requestID":"10635820-3dd1-11ef-ab4a-87fddd4f273f","responseTime":7,"status":200,"url":"/devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F720596e7-1b77-413d-b47b-c973283a7146","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2cd4cec8-5d92-43c3-91e5-e4efc58079a5","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515360.431712} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.756705,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/720596e7-1b77-413d-b47b-c973283a7146","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/720596e7-1b77-413d-b47b-c973283a7146","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"1064b7b0-3dd1-11ef-ab4a-87fddd4f273f"},"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/720596e7-1b77-413d-b47b-c973283a7146/signaling 200 9ms","method":"POST","requestID":"1064b7b0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":9,"status":200,"url":"/devices/720596e7-1b77-413d-b47b-c973283a7146/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/720596e7-1b77-413d-b47b-c973283a7146'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/f2da4382-ab35-4358-9c55-fff7cd92b961' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f2da4382-ab35-4358-9c55-fff7cd92b961","statusDeviceA":"new","statusDeviceB":"connecting"},"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":"f0d67d453f3f67437167440d49c5f331","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c"},{"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/720596e7-1b77-413d-b47b-c973283a7146"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/f2da4382-ab35-4358-9c55-fff7cd92b961"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"f0d67d453f3f67437167440d49c5f331","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:56:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"f0d67d453f3f67437167440d49c5f331"} device-1 | {"data":{"peerconnection":"f2da4382-ab35-4358-9c55-fff7cd92b961","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"f2da4382-ab35-4358-9c55-fff7cd92b961","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/f2da4382-ab35-4358-9c55-fff7cd92b961' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f2da4382-ab35-4358-9c55-fff7cd92b961","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":"1dcbbea6e63bf2897f312344d3c1b5ab","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/7feca5e8-8f13-48e0-b55b-b3bd0682e30c"},{"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/720596e7-1b77-413d-b47b-c973283a7146"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/f2da4382-ab35-4358-9c55-fff7cd92b961"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff2da4382-ab35-4358-9c55-fff7cd92b961","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6d3011d1-657c-433b-87f9-dd00818d28be","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515360.5201154} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.139311,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f2da4382-ab35-4358-9c55-fff7cd92b961","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/f2da4382-ab35-4358-9c55-fff7cd92b961","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":"10724c40-3dd1-11ef-ab4a-87fddd4f273f"},"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/f2da4382-ab35-4358-9c55-fff7cd92b961 200 7ms","method":"GET","requestID":"10724c40-3dd1-11ef-ab4a-87fddd4f273f","responseTime":7,"status":200,"url":"/peerconnections/f2da4382-ab35-4358-9c55-fff7cd92b961"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 30ms","method":"POST","requestID":"1dcbbea6e63bf2897f312344d3c1b5ab","responseTime":30,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:56:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.033","http_referrer":"","http_user_agent":"node-fetch","requestID":"1dcbbea6e63bf2897f312344d3c1b5ab"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7feca5e8-8f13-48e0-b55b-b3bd0682e30c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"187004eb-1ff1-4dc9-8aa6-8f658678e02d","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515360.5471117} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.045293,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c","object_type":"device","rebac_allow":false,"scope_allow":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":"10766af0-3dd1-11ef-ab4a-87fddd4f273f"},"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/7feca5e8-8f13-48e0-b55b-b3bd0682e30c/signaling 200 7ms","method":"POST","requestID":"10766af0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":7,"status":200,"url":"/devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F720596e7-1b77-413d-b47b-c973283a7146","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eaca29fc-e6ca-4a79-b28f-787401d9d7c2","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515360.5566416} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.255407,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/720596e7-1b77-413d-b47b-c973283a7146","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/720596e7-1b77-413d-b47b-c973283a7146","object_type":"device","rebac_allow":false,"scope_allow":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":"1077ca80-3dd1-11ef-ab4a-87fddd4f273f"},"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/720596e7-1b77-413d-b47b-c973283a7146/signaling 200 8ms","method":"POST","requestID":"1077ca80-3dd1-11ef-ab4a-87fddd4f273f","responseTime":8,"status":200,"url":"/devices/720596e7-1b77-413d-b47b-c973283a7146/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2MH0.GwixApcGqLAu6IeZnMePQzpIgGPxqMwos8PARPq1kiI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"310aefdc33eaaa20dbc5f00d7091ae82","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/11151d23-d73b-44ce-8c8b-960f3a8f86b8"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.679028,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/11151d23-d73b-44ce-8c8b-960f3a8f86b8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/11151d23-d73b-44ce-8c8b-960f3a8f86b8","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515360,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2MH0.GwixApcGqLAu6IeZnMePQzpIgGPxqMwos8PARPq1kiI"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","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":"310aefdc33eaaa20dbc5f00d7091ae82"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/11151d23-d73b-44ce-8c8b-960f3a8f86b8"} experiment-1 | {"level":"info","message":"GET /experiments/11151d23-d73b-44ce-8c8b-960f3a8f86b8 200 15ms","method":"GET","requestID":"310aefdc33eaaa20dbc5f00d7091ae82","responseTime":15,"status":200,"url":"/experiments/11151d23-d73b-44ce-8c8b-960f3a8f86b8"} gateway-1 | {"time_local":"09/Jul/2024:08:56:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/11151d23-d73b-44ce-8c8b-960f3a8f86b8 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":"310aefdc33eaaa20dbc5f00d7091ae82"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2MH0.GwixApcGqLAu6IeZnMePQzpIgGPxqMwos8PARPq1kiI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8190a01977a02f5f92c1d74f7f4b6de7","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/11151d23-d73b-44ce-8c8b-960f3a8f86b8"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.181462,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/11151d23-d73b-44ce-8c8b-960f3a8f86b8","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/11151d23-d73b-44ce-8c8b-960f3a8f86b8","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515360,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2MH0.GwixApcGqLAu6IeZnMePQzpIgGPxqMwos8PARPq1kiI"} 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":"8190a01977a02f5f92c1d74f7f4b6de7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/11151d23-d73b-44ce-8c8b-960f3a8f86b8"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.211993,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f2da4382-ab35-4358-9c55-fff7cd92b961","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:http://localhost/peerconnections/f2da4382-ab35-4358-9c55-fff7cd92b961","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515360,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2MH0.GwixApcGqLAu6IeZnMePQzpIgGPxqMwos8PARPq1kiI"} 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":"108474b0-3dd1-11ef-ab4a-87fddd4f273f"},"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/f2da4382-ab35-4358-9c55-fff7cd92b961' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/f2da4382-ab35-4358-9c55-fff7cd92b961' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f2da4382-ab35-4358-9c55-fff7cd92b961","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff2da4382-ab35-4358-9c55-fff7cd92b961': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff2da4382-ab35-4358-9c55-fff7cd92b961","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"eec7b4d5-843b-4710-baf8-c46ed0b4161b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515360.6559765} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"edcfb46c-87c0-4c4c-824c-431f62f9b139","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515360.6561577} 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":"108474b0-3dd1-11ef-ab4a-87fddd4f273f"},"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)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c2ee310774d0420dc18b83c5183aa294","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)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"57a69e9575bb17b1731250449953a44e","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c"},{"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/720596e7-1b77-413d-b47b-c973283a7146"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f2da4382-ab35-4358-9c55-fff7cd92b961"}}},"level":"info","message":"received a callback"} 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/7feca5e8-8f13-48e0-b55b-b3bd0682e30c"},{"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/720596e7-1b77-413d-b47b-c973283a7146"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f2da4382-ab35-4358-9c55-fff7cd92b961"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/f2da4382-ab35-4358-9c55-fff7cd92b961 204 32ms","method":"DELETE","requestID":"108474b0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":32,"status":204,"url":"/peerconnections/f2da4382-ab35-4358-9c55-fff7cd92b961"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/720596e7-1b77-413d-b47b-c973283a7146'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/11151d23-d73b-44ce-8c8b-960f3a8f86b8"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7feca5e8-8f13-48e0-b55b-b3bd0682e30c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"93b715be-f13f-4512-8340-27b93a7eb690","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515360.68798} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.139697,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c","object_type":"device","rebac_allow":false,"scope_allow":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":"108beec0-3dd1-11ef-ab4a-87fddd4f273f"},"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/7feca5e8-8f13-48e0-b55b-b3bd0682e30c/signaling 200 8ms","method":"POST","requestID":"108beec0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":8,"status":200,"url":"/devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F11151d23-d73b-44ce-8c8b-960f3a8f86b8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F11151d23-d73b-44ce-8c8b-960f3a8f86b8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"1c171e20-80b1-4187-a99b-ebcbf6c3abf5","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515360.6951282} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ab2a5e02-9d37-41e9-9ae4-d897f0821450","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515360.695401} 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":"8190a01977a02f5f92c1d74f7f4b6de7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F720596e7-1b77-413d-b47b-c973283a7146","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"082d24c4-cc2d-4bde-a38f-c93e8bed5e70","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515360.700904} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.371094,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/720596e7-1b77-413d-b47b-c973283a7146","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/720596e7-1b77-413d-b47b-c973283a7146","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"108d7560-3dd1-11ef-ab4a-87fddd4f273f"},"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/720596e7-1b77-413d-b47b-c973283a7146/signaling 200 11ms","method":"POST","requestID":"108d7560-3dd1-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/devices/720596e7-1b77-413d-b47b-c973283a7146/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/11151d23-d73b-44ce-8c8b-960f3a8f86b8"} gateway-1 | {"time_local":"09/Jul/2024:08:56:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/11151d23-d73b-44ce-8c8b-960f3a8f86b8 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.143","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8190a01977a02f5f92c1d74f7f4b6de7"} experiment-1 | {"level":"info","message":"DELETE /experiments/11151d23-d73b-44ce-8c8b-960f3a8f86b8 204 138ms","method":"DELETE","requestID":"8190a01977a02f5f92c1d74f7f4b6de7","responseTime":138,"status":204,"url":"/experiments/11151d23-d73b-44ce-8c8b-960f3a8f86b8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 101ms","method":"POST","requestID":"c2ee310774d0420dc18b83c5183aa294","responseTime":101,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:56:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.105","http_referrer":"","http_user_agent":"node-fetch","requestID":"c2ee310774d0420dc18b83c5183aa294"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2MH0.GwixApcGqLAu6IeZnMePQzpIgGPxqMwos8PARPq1kiI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f2ab9e53628ec4935045897d053e3244","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 103ms","method":"POST","requestID":"57a69e9575bb17b1731250449953a44e","responseTime":103,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:56:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.108","http_referrer":"","http_user_agent":"node-fetch","requestID":"57a69e9575bb17b1731250449953a44e"} gateway-1 | {"time_local":"09/Jul/2024:08:56:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2847","request_time":"0.647","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a93c775bf96d9b1e0a2d6bf72f1d76f8"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:00Z"} gateway-1 | {"time_local":"09/Jul/2024:08:56:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2849","request_time":"0.641","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0cac1cf4789ac0a1d3b6862c02e42bd3"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":2.514669,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515360,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2MH0.GwixApcGqLAu6IeZnMePQzpIgGPxqMwos8PARPq1kiI"} 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":"f2ab9e53628ec4935045897d053e3244"},"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/720596e7-1b77-413d-b47b-c973283a7146' 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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12ab4b7b-e5c8-4371-8f23-5ea587d48aac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"fbccd629-aeea-48d0-ad32-d494773fdba9","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515360.7926347} 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":"f2ab9e53628ec4935045897d053e3244"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f61ffbe9-b2bc-476f-86ce-2cb4dd83a5da","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515360.7966473} 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":"f2ab9e53628ec4935045897d053e3244"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/7feca5e8-8f13-48e0-b55b-b3bd0682e30c' closed"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12ab4b7b-e5c8-4371-8f23-5ea587d48aac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"40d86f7f-5765-4407-834b-c77df0a5bd76","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515360.8072457} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1e4bd385-a83d-4b9b-96b8-998c1f3a0f7a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515360.8075142} 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":"f2ab9e53628ec4935045897d053e3244"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12ab4b7b-e5c8-4371-8f23-5ea587d48aac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12ab4b7b-e5c8-4371-8f23-5ea587d48aac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:00.807224910Z"}]},"request_id":"ab67bd14-8612-4a37-b12d-dc44a06150d5","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515360.8112972} 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":"f2ab9e53628ec4935045897d053e3244"},"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":"09/Jul/2024:08:56:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f2ab9e53628ec4935045897d053e3244"} device-1 | {"level":"info","message":"POST /devices? 201 50ms","method":"POST","requestID":"f2ab9e53628ec4935045897d053e3244","responseTime":50,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2MH0.GwixApcGqLAu6IeZnMePQzpIgGPxqMwos8PARPq1kiI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c91a0f5448072b792b13fb882558e459","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.758577,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:00Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515360,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2MH0.GwixApcGqLAu6IeZnMePQzpIgGPxqMwos8PARPq1kiI"} 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":"c91a0f5448072b792b13fb882558e459"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe83a0d09-d04c-4e36-ae83-c0e71a3e2c22","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ee0ff570-ad41-4c4b-badd-15de7bed8410","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515360.8337178} 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":"c91a0f5448072b792b13fb882558e459"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"49540032-7e80-42e4-91df-ea3b6a88e616","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515360.8375893} 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":"c91a0f5448072b792b13fb882558e459"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe83a0d09-d04c-4e36-ae83-c0e71a3e2c22","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"2ed6fd00-0afa-4f44-9082-339c53123048","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515360.8536901} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cca6009f-16a2-439b-abdf-de6b1c3cc81a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515360.8539488} 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":"c91a0f5448072b792b13fb882558e459"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe83a0d09-d04c-4e36-ae83-c0e71a3e2c22","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe83a0d09-d04c-4e36-ae83-c0e71a3e2c22","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:00.853669356Z"}]},"request_id":"530dc600-914e-4888-b3b7-48e53c8ff1e0","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515360.857315} authorization-1 | {"level":"info","message":"POST /relations/query 200 1ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c91a0f5448072b792b13fb882558e459"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":1}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"09/Jul/2024:08:56:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c91a0f5448072b792b13fb882558e459"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"c91a0f5448072b792b13fb882558e459","responseTime":41,"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":"257ec165cf6346a16d6fec1db4de493f","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"09/Jul/2024:08:56:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac/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":"257ec165cf6346a16d6fec1db4de493f"} device-1 | {"level":"info","message":"OPTIONS /devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac/websocket 200 1ms","method":"OPTIONS","requestID":"257ec165cf6346a16d6fec1db4de493f","responseTime":1,"status":200,"url":"/devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2Mn0.PzX6vd8fwQH5kptf52JSz-1-Z6Vd9APUXvWEc1BZ6MM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ddbc25b12a477c1cf28ecd129bdc9cba","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:02Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.847199,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:02Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515362,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2Mn0.PzX6vd8fwQH5kptf52JSz-1-Z6Vd9APUXvWEc1BZ6MM"} 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":"ddbc25b12a477c1cf28ecd129bdc9cba"},"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 2ms","method":"GET","requestID":"0e2283c11034c10ba483532b03421dbd","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"09/Jul/2024:08:56:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22/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":"0e2283c11034c10ba483532b03421dbd"} device-1 | {"level":"info","message":"OPTIONS /devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22/websocket 200 1ms","method":"OPTIONS","requestID":"0e2283c11034c10ba483532b03421dbd","responseTime":1,"status":200,"url":"/devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2Mn0.PzX6vd8fwQH5kptf52JSz-1-Z6Vd9APUXvWEc1BZ6MM","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a569e1d4d618cdffb281864a92234ca4","responseTime":4,"status":200,"url":"/auth"} gateway-1 | {"time_local":"09/Jul/2024:08:56:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac/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":"ddbc25b12a477c1cf28ecd129bdc9cba"} device-1 | {"level":"info","message":"POST /devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac/websocket 200 23ms","method":"POST","requestID":"ddbc25b12a477c1cf28ecd129bdc9cba","responseTime":23,"status":200,"url":"/devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:02Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.823292,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:02Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515362,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2Mn0.PzX6vd8fwQH5kptf52JSz-1-Z6Vd9APUXvWEc1BZ6MM"} 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":"a569e1d4d618cdffb281864a92234ca4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"device 'http://localhost/devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"09/Jul/2024:08:56:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.029","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a569e1d4d618cdffb281864a92234ca4"} device-1 | {"level":"info","message":"POST /devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22/websocket 200 22ms","method":"POST","requestID":"a569e1d4d618cdffb281864a92234ca4","responseTime":22,"status":200,"url":"/devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2Mn0.PzX6vd8fwQH5kptf52JSz-1-Z6Vd9APUXvWEc1BZ6MM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1629cb8500a922c91202e11eb8b79cc5","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:02Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.278975,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515362,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2Mn0.PzX6vd8fwQH5kptf52JSz-1-Z6Vd9APUXvWEc1BZ6MM"} 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":"1629cb8500a922c91202e11eb8b79cc5"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12ab4b7b-e5c8-4371-8f23-5ea587d48aac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12ab4b7b-e5c8-4371-8f23-5ea587d48aac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:00.807224910Z"}]},"request_id":"a9a161c9-3375-4b61-93e5-0595dd7c6872","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515362.8846784} 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":"1629cb8500a922c91202e11eb8b79cc5"},"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":"09/Jul/2024:08:56:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac? 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":"1629cb8500a922c91202e11eb8b79cc5"} device-1 | {"level":"info","message":"GET /devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac? 200 13ms","method":"GET","requestID":"1629cb8500a922c91202e11eb8b79cc5","responseTime":13,"status":200,"url":"/devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2Mn0.PzX6vd8fwQH5kptf52JSz-1-Z6Vd9APUXvWEc1BZ6MM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e28fba07a0a12b4ff59e1aa9c6ce6713","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:02Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.189631,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515362,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2Mn0.PzX6vd8fwQH5kptf52JSz-1-Z6Vd9APUXvWEc1BZ6MM"} 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":"e28fba07a0a12b4ff59e1aa9c6ce6713"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe83a0d09-d04c-4e36-ae83-c0e71a3e2c22","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe83a0d09-d04c-4e36-ae83-c0e71a3e2c22","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:00.853669356Z"}]},"request_id":"d2193e7a-f322-4155-97ad-9e92135603e3","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515362.9064696} 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":"e28fba07a0a12b4ff59e1aa9c6ce6713"},"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":"09/Jul/2024:08:56:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22? 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":"e28fba07a0a12b4ff59e1aa9c6ce6713"} device-1 | {"level":"info","message":"GET /devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22? 200 14ms","method":"GET","requestID":"e28fba07a0a12b4ff59e1aa9c6ce6713","responseTime":14,"status":200,"url":"/devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2Mn0.PzX6vd8fwQH5kptf52JSz-1-Z6Vd9APUXvWEc1BZ6MM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"dbab20518dcf5e6353f0d74441dafdce","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:44070","level":"info","msg":"Received request.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:02Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.230706,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515362,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2Mn0.PzX6vd8fwQH5kptf52JSz-1-Z6Vd9APUXvWEc1BZ6MM"} 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":"dbab20518dcf5e6353f0d74441dafdce"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ebacab1a-c2f6-47a2-8339-3c6422031080"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ebacab1a-c2f6-47a2-8339-3c6422031080"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ebacab1a-c2f6-47a2-8339-3c6422031080"},"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:44070","level":"info","msg":"Received request.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:02Z"} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Received request.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:02Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.244287,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515362,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2Mn0.PzX6vd8fwQH5kptf52JSz-1-Z6Vd9APUXvWEc1BZ6MM"} 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":"11e78720-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Sent response.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.920243,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515362,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2Mn0.PzX6vd8fwQH5kptf52JSz-1-Z6Vd9APUXvWEc1BZ6MM"} 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":"11e7ae30-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12ab4b7b-e5c8-4371-8f23-5ea587d48aac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12ab4b7b-e5c8-4371-8f23-5ea587d48aac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:00.807224910Z"}]},"request_id":"4c1279e5-a07e-486a-83f2-f046ceb0297c","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515362.9700632} 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":"11e78720-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe83a0d09-d04c-4e36-ae83-c0e71a3e2c22","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe83a0d09-d04c-4e36-ae83-c0e71a3e2c22","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:00.853669356Z"}]},"request_id":"baea7dd4-e993-439e-9162-215b5a6773ec","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515362.9721622} 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":"11e7ae30-3dd1-11ef-ab4a-87fddd4f273f"},"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/12ab4b7b-e5c8-4371-8f23-5ea587d48aac? 200 15ms","method":"GET","requestID":"11e78720-3dd1-11ef-ab4a-87fddd4f273f","responseTime":15,"status":200,"url":"/devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22? 200 15ms","method":"GET","requestID":"11e7ae30-3dd1-11ef-ab4a-87fddd4f273f","responseTime":15,"status":200,"url":"/devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ebacab1a-c2f6-47a2-8339-3c6422031080"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ebacab1a-c2f6-47a2-8339-3c6422031080"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ebacab1a-c2f6-47a2-8339-3c6422031080"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ebacab1a-c2f6-47a2-8339-3c6422031080"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ebacab1a-c2f6-47a2-8339-3c6422031080"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ebacab1a-c2f6-47a2-8339-3c6422031080"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ebacab1a-c2f6-47a2-8339-3c6422031080"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ebacab1a-c2f6-47a2-8339-3c6422031080"},"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/ebacab1a-c2f6-47a2-8339-3c6422031080"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:03Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.652093,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:03Z"} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Received request.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515362,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2Mn0.PzX6vd8fwQH5kptf52JSz-1-Z6Vd9APUXvWEc1BZ6MM"} 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":"11efeb90-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Sent response.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.732701,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515362,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2Mn0.PzX6vd8fwQH5kptf52JSz-1-Z6Vd9APUXvWEc1BZ6MM"} 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":"11f039b0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:03Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12ab4b7b-e5c8-4371-8f23-5ea587d48aac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12ab4b7b-e5c8-4371-8f23-5ea587d48aac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:00.807224910Z"}]},"request_id":"ed7a07d6-1586-4440-aa7d-5ba9ba56e92f","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515363.0291774} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12ab4b7b-e5c8-4371-8f23-5ea587d48aac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"90760696-4985-4694-9fc5-bce0173660be","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515363.0293686} 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":"11efeb90-3dd1-11ef-ab4a-87fddd4f273f"},"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:44070","level":"info","msg":"Sent response.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.94113,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:03Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe83a0d09-d04c-4e36-ae83-c0e71a3e2c22","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe83a0d09-d04c-4e36-ae83-c0e71a3e2c22","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:00.853669356Z"}]},"request_id":"d6f55d8a-c4ad-4d7f-88d2-e6196417ce02","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515363.0301588} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"11f087d0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"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":"11f039b0-3dd1-11ef-ab4a-87fddd4f273f"},"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/12ab4b7b-e5c8-4371-8f23-5ea587d48aac/signaling 200 17ms","method":"POST","requestID":"11f087d0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":17,"status":200,"url":"/devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac? 200 22ms","method":"GET","requestID":"11efeb90-3dd1-11ef-ab4a-87fddd4f273f","responseTime":22,"status":200,"url":"/devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22? 200 21ms","method":"GET","requestID":"11f039b0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":21,"status":200,"url":"/devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:03Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.958274,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:03Z"} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Received request.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:03Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe83a0d09-d04c-4e36-ae83-c0e71a3e2c22","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b286282a-6469-459d-b452-5bd7d5eb3517","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515363.0458174} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Febacab1a-c2f6-47a2-8339-3c6422031080#owner@http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Febacab1a-c2f6-47a2-8339-3c6422031080","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"4d923899-5faa-4b50-8531-1df489e434bc","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515363.0460978} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"13aac4e4-233a-4f59-b83d-999e92dab940","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515363.0464077} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22","object_type":"device","rebac_allow":false,"scope_allow":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":"11f39510-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} 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":"dbab20518dcf5e6353f0d74441dafdce"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":26}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12ab4b7b-e5c8-4371-8f23-5ea587d48aac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"33e59fe5-7ae9-45f6-b910-d9f283b78fdf","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515363.0497243} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Sent response.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.500467,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac","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/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22/signaling 200 10ms","method":"POST","requestID":"11f39510-3dd1-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22/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":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"11f3bc20-3dd1-11ef-ab4a-87fddd4f273f"},"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/12ab4b7b-e5c8-4371-8f23-5ea587d48aac/signaling 200 12ms","method":"POST","requestID":"11f3bc20-3dd1-11ef-ab4a-87fddd4f273f","responseTime":12,"status":200,"url":"/devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/ebacab1a-c2f6-47a2-8339-3c6422031080","user":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} gateway-1 | {"time_local":"09/Jul/2024:08:56:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.144","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dbab20518dcf5e6353f0d74441dafdce"} experiment-1 | {"level":"info","message":"POST /experiments? 201 138ms","method":"POST","requestID":"dbab20518dcf5e6353f0d74441dafdce","responseTime":138,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:03Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe83a0d09-d04c-4e36-ae83-c0e71a3e2c22","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d6923fa6-4cbe-4c10-b735-602490c895c1","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515363.0611038} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2M30.1pknBa0DAi6jx-NzTclz8n4ymkFIJPF3f_wgclPtbMg","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.562498,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:03Z"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fb415606afecb4357b57f821cc90b1d6","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} 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":"11f60610-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:03Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.703673,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:03Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515363,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2M30.1pknBa0DAi6jx-NzTclz8n4ymkFIJPF3f_wgclPtbMg"} device-1 | {"level":"info","message":"POST /devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22/signaling 200 9ms","method":"POST","requestID":"11f60610-3dd1-11ef-ab4a-87fddd4f273f","responseTime":9,"status":200,"url":"/devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22/signaling"} 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":"fb415606afecb4357b57f821cc90b1d6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ebacab1a-c2f6-47a2-8339-3c6422031080"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ebacab1a-c2f6-47a2-8339-3c6422031080"},"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":"d4383014-6ba1-4959-b129-ec0a94713c78"},{"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":"774354c5-4462-49e7-8a5d-010c396f8134"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"73f37668-7258-47f2-aa8c-57d14be1ddc2"}]},"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/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22"},{"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/12ab4b7b-e5c8-4371-8f23-5ea587d48aac"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections 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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12ab4b7b-e5c8-4371-8f23-5ea587d48aac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12ab4b7b-e5c8-4371-8f23-5ea587d48aac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:00.807224910Z"}]},"request_id":"c5bf5762-b38c-426d-a6f4-c5fb85dbcbb2","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515363.0701334} 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":"fb415606afecb4357b57f821cc90b1d6"},"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:44070","level":"info","msg":"Received request.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:03Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.715225,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515362,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2Mn0.PzX6vd8fwQH5kptf52JSz-1-Z6Vd9APUXvWEc1BZ6MM"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","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":"11f7dad0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"09/Jul/2024:08:56:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac? 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":"fb415606afecb4357b57f821cc90b1d6"} device-1 | {"level":"info","message":"GET /devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac? 200 13ms","method":"GET","requestID":"fb415606afecb4357b57f821cc90b1d6","responseTime":13,"status":200,"url":"/devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2M30.1pknBa0DAi6jx-NzTclz8n4ymkFIJPF3f_wgclPtbMg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d9c14d57363290a57cbd1ef90c5a90ff","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","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%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"b25440b9-8574-4bb8-894d-2297a5c2bf02","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515363.0806336} device-1 | {"level":"info","message":"getDevicesByDeviceId 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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a7703cff-40e7-4c36-9c89-0d9846487f70","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515363.08105} 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":"11f7dad0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:03Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.722162,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515363,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2M30.1pknBa0DAi6jx-NzTclz8n4ymkFIJPF3f_wgclPtbMg"} 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":"d9c14d57363290a57cbd1ef90c5a90ff"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe83a0d09-d04c-4e36-ae83-c0e71a3e2c22","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe83a0d09-d04c-4e36-ae83-c0e71a3e2c22","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:00.853669356Z"}]},"request_id":"3418bedd-860f-4c09-bba3-d114d6f2291a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515363.0888627} 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":"d9c14d57363290a57cbd1ef90c5a90ff"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} 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/38557405-f969-4940-94ea-f77e3e409a93'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/38557405-f969-4940-94ea-f77e3e409a93'"} 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 25ms","method":"POST","requestID":"11f7dad0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":25,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"09/Jul/2024:08:56:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22? 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":"d9c14d57363290a57cbd1ef90c5a90ff"} device-1 | {"level":"info","message":"GET /devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22? 200 14ms","method":"GET","requestID":"d9c14d57363290a57cbd1ef90c5a90ff","responseTime":14,"status":200,"url":"/devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ebacab1a-c2f6-47a2-8339-3c6422031080"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:03Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12ab4b7b-e5c8-4371-8f23-5ea587d48aac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ab8506d1-d9ca-4c0e-b51f-db05a4c9709f","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515363.1230109} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.40155,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac","object_type":"device","rebac_allow":false,"scope_allow":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":"11ff54e0-3dd1-11ef-ab4a-87fddd4f273f"},"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/12ab4b7b-e5c8-4371-8f23-5ea587d48aac/signaling 200 8ms","method":"POST","requestID":"11ff54e0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":8,"status":200,"url":"/devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:03Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe83a0d09-d04c-4e36-ae83-c0e71a3e2c22","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ef108e1d-14cd-4e7a-9e57-87a5f6d62a21","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515363.1325865} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.277522,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"1200db80-3dd1-11ef-ab4a-87fddd4f273f"},"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/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22/signaling 200 9ms","method":"POST","requestID":"1200db80-3dd1-11ef-ab4a-87fddd4f273f","responseTime":9,"status":200,"url":"/devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/38557405-f969-4940-94ea-f77e3e409a93' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"38557405-f969-4940-94ea-f77e3e409a93","statusDeviceA":"new","statusDeviceB":"connecting"},"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":"262fb81e06b888f5d5462ec0da488117","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22"},{"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/12ab4b7b-e5c8-4371-8f23-5ea587d48aac"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/38557405-f969-4940-94ea-f77e3e409a93"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 12ms","method":"POST","requestID":"262fb81e06b888f5d5462ec0da488117","responseTime":12,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"peerconnection":"38557405-f969-4940-94ea-f77e3e409a93","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} gateway-1 | {"time_local":"09/Jul/2024:08:56:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch","requestID":"262fb81e06b888f5d5462ec0da488117"} device-1 | {"data":{"peerconnection":"38557405-f969-4940-94ea-f77e3e409a93","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/38557405-f969-4940-94ea-f77e3e409a93' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"38557405-f969-4940-94ea-f77e3e409a93","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":"0d0dbcfb144ff6422b1c467e9a6bb0d8","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/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22"},{"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/12ab4b7b-e5c8-4371-8f23-5ea587d48aac"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/38557405-f969-4940-94ea-f77e3e409a93"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:03Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F38557405-f969-4940-94ea-f77e3e409a93","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c2ee6dee-84d1-4f99-af48-60d6e05ab38b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515363.2203252} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.124139,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/38557405-f969-4940-94ea-f77e3e409a93","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/38557405-f969-4940-94ea-f77e3e409a93","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":"120e4900-3dd1-11ef-ab4a-87fddd4f273f"},"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/38557405-f969-4940-94ea-f77e3e409a93 200 7ms","method":"GET","requestID":"120e4900-3dd1-11ef-ab4a-87fddd4f273f","responseTime":7,"status":200,"url":"/peerconnections/38557405-f969-4940-94ea-f77e3e409a93"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 30ms","method":"POST","requestID":"0d0dbcfb144ff6422b1c467e9a6bb0d8","responseTime":30,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:56:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.033","http_referrer":"","http_user_agent":"node-fetch","requestID":"0d0dbcfb144ff6422b1c467e9a6bb0d8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:03Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe83a0d09-d04c-4e36-ae83-c0e71a3e2c22","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ab7a8d07-1e7c-45ad-8113-3cb08578c605","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515363.2472622} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.121937,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22","object_type":"device","rebac_allow":false,"scope_allow":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":"121267b0-3dd1-11ef-ab4a-87fddd4f273f"},"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/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22/signaling 200 8ms","method":"POST","requestID":"121267b0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":8,"status":200,"url":"/devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:03Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12ab4b7b-e5c8-4371-8f23-5ea587d48aac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4943645b-6719-4d1b-abdd-e7d99a1567d5","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515363.2565672} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.525696,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac","object_type":"device","rebac_allow":false,"scope_allow":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":"1213c740-3dd1-11ef-ab4a-87fddd4f273f"},"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/12ab4b7b-e5c8-4371-8f23-5ea587d48aac/signaling 200 8ms","method":"POST","requestID":"1213c740-3dd1-11ef-ab4a-87fddd4f273f","responseTime":8,"status":200,"url":"/devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2M30.1pknBa0DAi6jx-NzTclz8n4ymkFIJPF3f_wgclPtbMg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1954c3785c69198682dac592a75c9e91","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ebacab1a-c2f6-47a2-8339-3c6422031080"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:03Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.785981,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ebacab1a-c2f6-47a2-8339-3c6422031080","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/ebacab1a-c2f6-47a2-8339-3c6422031080","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515363,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2M30.1pknBa0DAi6jx-NzTclz8n4ymkFIJPF3f_wgclPtbMg"} 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":"1954c3785c69198682dac592a75c9e91"},"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/ebacab1a-c2f6-47a2-8339-3c6422031080"} gateway-1 | {"time_local":"09/Jul/2024:08:56:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ebacab1a-c2f6-47a2-8339-3c6422031080 HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1954c3785c69198682dac592a75c9e91"} experiment-1 | {"level":"info","message":"GET /experiments/ebacab1a-c2f6-47a2-8339-3c6422031080 200 9ms","method":"GET","requestID":"1954c3785c69198682dac592a75c9e91","responseTime":9,"status":200,"url":"/experiments/ebacab1a-c2f6-47a2-8339-3c6422031080"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2M30.1pknBa0DAi6jx-NzTclz8n4ymkFIJPF3f_wgclPtbMg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"85ff38f6a25109405db0c17b6d51eb4e","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ebacab1a-c2f6-47a2-8339-3c6422031080"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:03Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.72104,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:03Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ebacab1a-c2f6-47a2-8339-3c6422031080","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/ebacab1a-c2f6-47a2-8339-3c6422031080","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515363,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2M30.1pknBa0DAi6jx-NzTclz8n4ymkFIJPF3f_wgclPtbMg"} 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":"85ff38f6a25109405db0c17b6d51eb4e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ebacab1a-c2f6-47a2-8339-3c6422031080"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:03Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.710223,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:03Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/38557405-f969-4940-94ea-f77e3e409a93","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:http://localhost/peerconnections/38557405-f969-4940-94ea-f77e3e409a93","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515363,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2M30.1pknBa0DAi6jx-NzTclz8n4ymkFIJPF3f_wgclPtbMg"} 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":"121e75a0-3dd1-11ef-ab4a-87fddd4f273f"},"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/38557405-f969-4940-94ea-f77e3e409a93' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/38557405-f969-4940-94ea-f77e3e409a93' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"38557405-f969-4940-94ea-f77e3e409a93","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F38557405-f969-4940-94ea-f77e3e409a93': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F38557405-f969-4940-94ea-f77e3e409a93","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"96554693-974d-4171-ab5a-de95f2e4ab5f","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515363.3389397} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c8f7f178-54d2-4a98-b261-c03770c67d55","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515363.3392518} 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":"30a902becf554e2f96f14cabee31cdaa","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22"},{"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/12ab4b7b-e5c8-4371-8f23-5ea587d48aac"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/38557405-f969-4940-94ea-f77e3e409a93"}}},"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":"121e75a0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} 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":"301f8da1da1393d5d6c0ff566c1a476e","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22"},{"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/12ab4b7b-e5c8-4371-8f23-5ea587d48aac"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/38557405-f969-4940-94ea-f77e3e409a93"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"38557405-f969-4940-94ea-f77e3e409a93","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/38557405-f969-4940-94ea-f77e3e409a93 204 35ms","method":"DELETE","requestID":"121e75a0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":35,"status":204,"url":"/peerconnections/38557405-f969-4940-94ea-f77e3e409a93"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ebacab1a-c2f6-47a2-8339-3c6422031080"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:03Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe83a0d09-d04c-4e36-ae83-c0e71a3e2c22","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5656ceb7-eb67-4657-a7ad-0b05995b2972","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515363.3750844} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.335725,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22","object_type":"device","rebac_allow":false,"scope_allow":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":"1225efb0-3dd1-11ef-ab4a-87fddd4f273f"},"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/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22/signaling 200 7ms","method":"POST","requestID":"1225efb0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":7,"status":200,"url":"/devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Febacab1a-c2f6-47a2-8339-3c6422031080': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Febacab1a-c2f6-47a2-8339-3c6422031080","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"f9f54dae-e98e-4628-968d-cb001fe993e1","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515363.3813307} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"be0a2135-e170-4335-8d3c-2ffc7ebcfa27","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515363.381683} 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":"85ff38f6a25109405db0c17b6d51eb4e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:03Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12ab4b7b-e5c8-4371-8f23-5ea587d48aac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2da9d537-88ed-4ea1-91cc-9aaef425cc3d","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515363.385384} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.507092,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac","object_type":"device","rebac_allow":false,"scope_allow":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":"12274f40-3dd1-11ef-ab4a-87fddd4f273f"},"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/12ab4b7b-e5c8-4371-8f23-5ea587d48aac/signaling 200 9ms","method":"POST","requestID":"12274f40-3dd1-11ef-ab4a-87fddd4f273f","responseTime":9,"status":200,"url":"/devices/12ab4b7b-e5c8-4371-8f23-5ea587d48aac/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ebacab1a-c2f6-47a2-8339-3c6422031080"} gateway-1 | {"time_local":"09/Jul/2024:08:56:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ebacab1a-c2f6-47a2-8339-3c6422031080 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.130","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"85ff38f6a25109405db0c17b6d51eb4e"} experiment-1 | {"level":"info","message":"DELETE /experiments/ebacab1a-c2f6-47a2-8339-3c6422031080 204 127ms","method":"DELETE","requestID":"85ff38f6a25109405db0c17b6d51eb4e","responseTime":127,"status":204,"url":"/experiments/ebacab1a-c2f6-47a2-8339-3c6422031080"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 100ms","method":"POST","requestID":"30a902becf554e2f96f14cabee31cdaa","responseTime":100,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:56:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.103","http_referrer":"","http_user_agent":"node-fetch","requestID":"30a902becf554e2f96f14cabee31cdaa"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 100ms","method":"POST","requestID":"301f8da1da1393d5d6c0ff566c1a476e","responseTime":100,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:56:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.104","http_referrer":"","http_user_agent":"node-fetch","requestID":"301f8da1da1393d5d6c0ff566c1a476e"} gateway-1 | {"time_local":"09/Jul/2024:08:56:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2848","request_time":"0.593","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4692a04ff2a1c5725afa71aab739fc70"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2M30.1pknBa0DAi6jx-NzTclz8n4ymkFIJPF3f_wgclPtbMg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"770961ab6e5a3730b33d89f00258e1ca","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"09/Jul/2024:08:56:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2850","request_time":"0.622","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b640137c98613ed716c6ab9370ce716b"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:03Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.85265,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515363,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2M30.1pknBa0DAi6jx-NzTclz8n4ymkFIJPF3f_wgclPtbMg"} 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":"770961ab6e5a3730b33d89f00258e1ca"},"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/12ab4b7b-e5c8-4371-8f23-5ea587d48aac' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e83a0d09-d04c-4e36-ae83-c0e71a3e2c22' 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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80108ebb-82f6-437c-95df-615e2c178dfb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0de38bf8-eb8b-479a-8267-dfb2ef05bb12","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515363.4741905} 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":"770961ab6e5a3730b33d89f00258e1ca"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c980464b-22f5-4dfa-942f-6fd82cc4b029","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515363.4789307} 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":"770961ab6e5a3730b33d89f00258e1ca"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80108ebb-82f6-437c-95df-615e2c178dfb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"dd42cdd4-4849-41a8-853d-03831a51faa0","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515363.4896405} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a8781499-cc6d-4f39-b2b7-b8747d5972ea","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515363.4897792} 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":"770961ab6e5a3730b33d89f00258e1ca"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80108ebb-82f6-437c-95df-615e2c178dfb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80108ebb-82f6-437c-95df-615e2c178dfb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:03.489617998Z"}]},"request_id":"c01192ce-4687-42bc-b7b8-691cd724edb4","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515363.4939642} 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":"770961ab6e5a3730b33d89f00258e1ca"},"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":"09/Jul/2024:08:56:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"770961ab6e5a3730b33d89f00258e1ca"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"770961ab6e5a3730b33d89f00258e1ca","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2M30.1pknBa0DAi6jx-NzTclz8n4ymkFIJPF3f_wgclPtbMg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e7e7c136b123968969e74bda1cc05154","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:03Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.65897,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515363,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2M30.1pknBa0DAi6jx-NzTclz8n4ymkFIJPF3f_wgclPtbMg"} 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":"e7e7c136b123968969e74bda1cc05154"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bcf9e20-5419-4264-8b8c-42d32b723272","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e3f22ded-50d9-4ac2-b871-7bb4c1640988","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515363.516284} 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":"e7e7c136b123968969e74bda1cc05154"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b9620a0f-2bec-43d2-927d-4548c000637c","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515363.520431} 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":"e7e7c136b123968969e74bda1cc05154"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bcf9e20-5419-4264-8b8c-42d32b723272","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"51654fb7-3d26-4baa-b51a-85dd59de1ef1","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515363.53509} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a2f2b370-f799-448a-8138-f27172ec6650","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515363.535423} 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":"e7e7c136b123968969e74bda1cc05154"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bcf9e20-5419-4264-8b8c-42d32b723272","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bcf9e20-5419-4264-8b8c-42d32b723272","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:03.535063181Z"}]},"request_id":"ef6377e1-35bd-4a44-98a1-68b17c9ee297","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515363.5398767} 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":"e7e7c136b123968969e74bda1cc05154"},"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":"09/Jul/2024:08:56:03 +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":"e7e7c136b123968969e74bda1cc05154"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"e7e7c136b123968969e74bda1cc05154","responseTime":40,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2NH0.lZqoMPz3wf0ud3JnT7cMMx2KtpPd2PNWRRa48usBaeE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"7d1e46dd29f67eba0d68e9ba11230b09","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:04Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.796957,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:04Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2bcf9e20-5419-4264-8b8c-42d32b723272","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/2bcf9e20-5419-4264-8b8c-42d32b723272","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515364,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2NH0.lZqoMPz3wf0ud3JnT7cMMx2KtpPd2PNWRRa48usBaeE"} 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":"7d1e46dd29f67eba0d68e9ba11230b09"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bcf9e20-5419-4264-8b8c-42d32b723272","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bcf9e20-5419-4264-8b8c-42d32b723272","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:03.535063181Z"}]},"request_id":"46d78c2f-7199-405b-9b20-96b136be5831","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515364.05736} 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":"7d1e46dd29f67eba0d68e9ba11230b09"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"34efb0fe-2f5e-4535-a5e3-c7bfee87f541","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515364.06246} 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":"7d1e46dd29f67eba0d68e9ba11230b09"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bcf9e20-5419-4264-8b8c-42d32b723272","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bcf9e20-5419-4264-8b8c-42d32b723272","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:03.535063181Z"}]},"request_id":"bdcd59ad-3b50-46e8-8cb3-cbaea7f88f4e","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515364.0742207} 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":"7d1e46dd29f67eba0d68e9ba11230b09"},"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/2bcf9e20-5419-4264-8b8c-42d32b723272 200 31ms","method":"PATCH","requestID":"7d1e46dd29f67eba0d68e9ba11230b09","responseTime":31,"status":200,"url":"/devices/2bcf9e20-5419-4264-8b8c-42d32b723272"} gateway-1 | {"time_local":"09/Jul/2024:08:56:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/2bcf9e20-5419-4264-8b8c-42d32b723272 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.038","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"7d1e46dd29f67eba0d68e9ba11230b09"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2NH0.lZqoMPz3wf0ud3JnT7cMMx2KtpPd2PNWRRa48usBaeE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a8e84608990e64abd80715625de3a5b2","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:04Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.075377,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:04Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2bcf9e20-5419-4264-8b8c-42d32b723272","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/2bcf9e20-5419-4264-8b8c-42d32b723272","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515364,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2NH0.lZqoMPz3wf0ud3JnT7cMMx2KtpPd2PNWRRa48usBaeE"} 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":"a8e84608990e64abd80715625de3a5b2"},"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":"09/Jul/2024:08:56:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2bcf9e20-5419-4264-8b8c-42d32b723272/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":"a8e84608990e64abd80715625de3a5b2"} device-1 | {"level":"info","message":"POST /devices/2bcf9e20-5419-4264-8b8c-42d32b723272/websocket 200 21ms","method":"POST","requestID":"a8e84608990e64abd80715625de3a5b2","responseTime":21,"status":200,"url":"/devices/2bcf9e20-5419-4264-8b8c-42d32b723272/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2bcf9e20-5419-4264-8b8c-42d32b723272' 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":"24cde250607ff6464f0511e5c6a30de4","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"09/Jul/2024:08:56:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/80108ebb-82f6-437c-95df-615e2c178dfb/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":"24cde250607ff6464f0511e5c6a30de4"} device-1 | {"level":"info","message":"OPTIONS /devices/80108ebb-82f6-437c-95df-615e2c178dfb/websocket 200 1ms","method":"OPTIONS","requestID":"24cde250607ff6464f0511e5c6a30de4","responseTime":1,"status":200,"url":"/devices/80108ebb-82f6-437c-95df-615e2c178dfb/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2NX0.5odQOn3Izr7UXw0zxHfE5E1IsRVwOfToG5ySk3b4Y0E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8098e4c392ebd49ffddb6b5ffc3c46c3","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.304057,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:05Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/80108ebb-82f6-437c-95df-615e2c178dfb","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/80108ebb-82f6-437c-95df-615e2c178dfb","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515365,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2NX0.5odQOn3Izr7UXw0zxHfE5E1IsRVwOfToG5ySk3b4Y0E"} 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":"8098e4c392ebd49ffddb6b5ffc3c46c3"},"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":"09/Jul/2024:08:56:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/80108ebb-82f6-437c-95df-615e2c178dfb/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":"8098e4c392ebd49ffddb6b5ffc3c46c3"} device-1 | {"level":"info","message":"POST /devices/80108ebb-82f6-437c-95df-615e2c178dfb/websocket 200 23ms","method":"POST","requestID":"8098e4c392ebd49ffddb6b5ffc3c46c3","responseTime":23,"status":200,"url":"/devices/80108ebb-82f6-437c-95df-615e2c178dfb/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/80108ebb-82f6-437c-95df-615e2c178dfb' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2NX0.5odQOn3Izr7UXw0zxHfE5E1IsRVwOfToG5ySk3b4Y0E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2b3a8455ff61f5db7ba6207521f47722","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.194006,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/80108ebb-82f6-437c-95df-615e2c178dfb","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/80108ebb-82f6-437c-95df-615e2c178dfb","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515365,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2NX0.5odQOn3Izr7UXw0zxHfE5E1IsRVwOfToG5ySk3b4Y0E"} 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":"2b3a8455ff61f5db7ba6207521f47722"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80108ebb-82f6-437c-95df-615e2c178dfb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80108ebb-82f6-437c-95df-615e2c178dfb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:03.489617998Z"}]},"request_id":"64426ef7-b38c-4f3a-aa24-d06af1ed0eea","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515365.6371655} 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":"2b3a8455ff61f5db7ba6207521f47722"},"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":"09/Jul/2024:08:56:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/80108ebb-82f6-437c-95df-615e2c178dfb? 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":"2b3a8455ff61f5db7ba6207521f47722"} device-1 | {"level":"info","message":"GET /devices/80108ebb-82f6-437c-95df-615e2c178dfb? 200 17ms","method":"GET","requestID":"2b3a8455ff61f5db7ba6207521f47722","responseTime":17,"status":200,"url":"/devices/80108ebb-82f6-437c-95df-615e2c178dfb?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2NX0.5odQOn3Izr7UXw0zxHfE5E1IsRVwOfToG5ySk3b4Y0E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1ef1689cd1a83c605f6ccf963cdfd174","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.111979,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2bcf9e20-5419-4264-8b8c-42d32b723272","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/2bcf9e20-5419-4264-8b8c-42d32b723272","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515365,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2NX0.5odQOn3Izr7UXw0zxHfE5E1IsRVwOfToG5ySk3b4Y0E"} 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":"1ef1689cd1a83c605f6ccf963cdfd174"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bcf9e20-5419-4264-8b8c-42d32b723272","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bcf9e20-5419-4264-8b8c-42d32b723272","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:03.535063181Z"}]},"request_id":"9dd612ba-554a-4be0-b70d-4c74066ea1a1","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515365.6595771} 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":"1ef1689cd1a83c605f6ccf963cdfd174"},"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":"09/Jul/2024:08:56:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2bcf9e20-5419-4264-8b8c-42d32b723272? 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":"1ef1689cd1a83c605f6ccf963cdfd174"} device-1 | {"level":"info","message":"GET /devices/2bcf9e20-5419-4264-8b8c-42d32b723272? 200 15ms","method":"GET","requestID":"1ef1689cd1a83c605f6ccf963cdfd174","responseTime":15,"status":200,"url":"/devices/2bcf9e20-5419-4264-8b8c-42d32b723272?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2NX0.5odQOn3Izr7UXw0zxHfE5E1IsRVwOfToG5ySk3b4Y0E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"55131d850772cb94f23f2d36e9c04851","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:44070","level":"info","msg":"Received request.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.108695,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515365,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2NX0.5odQOn3Izr7UXw0zxHfE5E1IsRVwOfToG5ySk3b4Y0E"} 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":"55131d850772cb94f23f2d36e9c04851"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4c916495-85bc-4372-8d68-3ef389835aca"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4c916495-85bc-4372-8d68-3ef389835aca"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4c916495-85bc-4372-8d68-3ef389835aca"},"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:44070","level":"info","msg":"Received request.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.472194,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Received request.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/80108ebb-82f6-437c-95df-615e2c178dfb","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/80108ebb-82f6-437c-95df-615e2c178dfb","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515365,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2NX0.5odQOn3Izr7UXw0zxHfE5E1IsRVwOfToG5ySk3b4Y0E"} 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":"138ad6e0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Sent response.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.18179,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2bcf9e20-5419-4264-8b8c-42d32b723272","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/2bcf9e20-5419-4264-8b8c-42d32b723272","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515365,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2NX0.5odQOn3Izr7UXw0zxHfE5E1IsRVwOfToG5ySk3b4Y0E"} 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":"138b2500-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80108ebb-82f6-437c-95df-615e2c178dfb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80108ebb-82f6-437c-95df-615e2c178dfb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:03.489617998Z"}]},"request_id":"c5741eb5-258b-45ff-8683-c00448d620ad","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515365.7215915} 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":"138ad6e0-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bcf9e20-5419-4264-8b8c-42d32b723272","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bcf9e20-5419-4264-8b8c-42d32b723272","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:03.535063181Z"}]},"request_id":"a7029f2c-838d-4fab-b75f-b28cd6847205","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515365.7225604} 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":"138b2500-3dd1-11ef-ab4a-87fddd4f273f"},"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/80108ebb-82f6-437c-95df-615e2c178dfb? 200 19ms","method":"GET","requestID":"138ad6e0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":19,"status":200,"url":"/devices/80108ebb-82f6-437c-95df-615e2c178dfb?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/2bcf9e20-5419-4264-8b8c-42d32b723272? 200 18ms","method":"GET","requestID":"138b2500-3dd1-11ef-ab4a-87fddd4f273f","responseTime":18,"status":200,"url":"/devices/2bcf9e20-5419-4264-8b8c-42d32b723272?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4c916495-85bc-4372-8d68-3ef389835aca"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4c916495-85bc-4372-8d68-3ef389835aca"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4c916495-85bc-4372-8d68-3ef389835aca"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4c916495-85bc-4372-8d68-3ef389835aca"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4c916495-85bc-4372-8d68-3ef389835aca"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4c916495-85bc-4372-8d68-3ef389835aca"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4c916495-85bc-4372-8d68-3ef389835aca"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4c916495-85bc-4372-8d68-3ef389835aca"},"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/4c916495-85bc-4372-8d68-3ef389835aca"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.134683,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Received request.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/80108ebb-82f6-437c-95df-615e2c178dfb","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/80108ebb-82f6-437c-95df-615e2c178dfb","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515365,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2NX0.5odQOn3Izr7UXw0zxHfE5E1IsRVwOfToG5ySk3b4Y0E"} 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":"13931440-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Sent response.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.861618,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2bcf9e20-5419-4264-8b8c-42d32b723272","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/2bcf9e20-5419-4264-8b8c-42d32b723272","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515365,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2NX0.5odQOn3Izr7UXw0zxHfE5E1IsRVwOfToG5ySk3b4Y0E"} 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":"13933b50-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80108ebb-82f6-437c-95df-615e2c178dfb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80108ebb-82f6-437c-95df-615e2c178dfb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:03.489617998Z"}]},"request_id":"1eb24e53-90cc-48f4-90ff-939c0fa71671","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515365.775109} authorization-1 | {"client_addr":"127.0.0.1:53466","level":"info","msg":"Received request.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56: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":"13931440-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bcf9e20-5419-4264-8b8c-42d32b723272","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bcf9e20-5419-4264-8b8c-42d32b723272","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:03.535063181Z"}]},"request_id":"bcd45993-eb0e-4713-9b39-d93d123f145e","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515365.7769265} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80108ebb-82f6-437c-95df-615e2c178dfb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d287efd3-171f-40e7-bb92-d9bdb63f8330","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515365.7775133} 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":"13933b50-3dd1-11ef-ab4a-87fddd4f273f"},"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:53466","level":"info","msg":"Sent response.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.078504,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/80108ebb-82f6-437c-95df-615e2c178dfb","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/80108ebb-82f6-437c-95df-615e2c178dfb","object_type":"device","rebac_allow":false,"scope_allow":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":"13936260-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/2bcf9e20-5419-4264-8b8c-42d32b723272? 200 18ms","method":"GET","requestID":"13933b50-3dd1-11ef-ab4a-87fddd4f273f","responseTime":18,"status":200,"url":"/devices/2bcf9e20-5419-4264-8b8c-42d32b723272?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/80108ebb-82f6-437c-95df-615e2c178dfb? 200 20ms","method":"GET","requestID":"13931440-3dd1-11ef-ab4a-87fddd4f273f","responseTime":20,"status":200,"url":"/devices/80108ebb-82f6-437c-95df-615e2c178dfb?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4c916495-85bc-4372-8d68-3ef389835aca#owner@http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4c916495-85bc-4372-8d68-3ef389835aca","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"0edd6487-55c5-4f4b-9947-6a759f9a8efa","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515365.784795} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e2413903-602a-48fe-b304-8fd6bf640c48","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515365.7851174} device-1 | {"level":"info","message":"POST /devices/80108ebb-82f6-437c-95df-615e2c178dfb/signaling 200 19ms","method":"POST","requestID":"13936260-3dd1-11ef-ab4a-87fddd4f273f","responseTime":19,"status":200,"url":"/devices/80108ebb-82f6-437c-95df-615e2c178dfb/signaling"} 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":"55131d850772cb94f23f2d36e9c04851"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Received request.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:05Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80108ebb-82f6-437c-95df-615e2c178dfb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d3d445c1-3611-445b-8167-d025ddcbf3e3","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515365.7930224} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.21106,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/80108ebb-82f6-437c-95df-615e2c178dfb","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/80108ebb-82f6-437c-95df-615e2c178dfb","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/4c916495-85bc-4372-8d68-3ef389835aca","user":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} 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":"139696b0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bcf9e20-5419-4264-8b8c-42d32b723272","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f794fc16-a6e4-4083-9d63-e271ec76b715","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515365.7940185} experiment-1 | {"level":"info","message":"POST /experiments? 201 124ms","method":"POST","requestID":"55131d850772cb94f23f2d36e9c04851","responseTime":124,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"09/Jul/2024:08:56:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.131","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"55131d850772cb94f23f2d36e9c04851"} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Sent response.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.504897,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2bcf9e20-5419-4264-8b8c-42d32b723272","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2bcf9e20-5419-4264-8b8c-42d32b723272","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"1396e4d0-3dd1-11ef-ab4a-87fddd4f273f"},"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/80108ebb-82f6-437c-95df-615e2c178dfb/signaling 200 11ms","method":"POST","requestID":"139696b0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/devices/80108ebb-82f6-437c-95df-615e2c178dfb/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/2bcf9e20-5419-4264-8b8c-42d32b723272/signaling 200 11ms","method":"POST","requestID":"1396e4d0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/devices/2bcf9e20-5419-4264-8b8c-42d32b723272/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2NX0.5odQOn3Izr7UXw0zxHfE5E1IsRVwOfToG5ySk3b4Y0E","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":"99844dd27de6e16ba87afef22e9d4fb6","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Received request.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:48816","level":"info","msg":"Sent response.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.806901,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/80108ebb-82f6-437c-95df-615e2c178dfb","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/80108ebb-82f6-437c-95df-615e2c178dfb","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515365,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2NX0.5odQOn3Izr7UXw0zxHfE5E1IsRVwOfToG5ySk3b4Y0E"} 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":"99844dd27de6e16ba87afef22e9d4fb6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bcf9e20-5419-4264-8b8c-42d32b723272","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6030bed0-0a90-4af9-bff3-a138d25a7f77","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515365.8054478} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.175844,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2bcf9e20-5419-4264-8b8c-42d32b723272","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2bcf9e20-5419-4264-8b8c-42d32b723272","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"1398b990-3dd1-11ef-ab4a-87fddd4f273f"},"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/2bcf9e20-5419-4264-8b8c-42d32b723272/signaling 200 10ms","method":"POST","requestID":"1398b990-3dd1-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/devices/2bcf9e20-5419-4264-8b8c-42d32b723272/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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80108ebb-82f6-437c-95df-615e2c178dfb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80108ebb-82f6-437c-95df-615e2c178dfb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:03.489617998Z"}]},"request_id":"97e94924-b986-4f76-bea7-2444020317c8","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515365.8109348} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4c916495-85bc-4372-8d68-3ef389835aca"},"level":"info","message":"Attempting to create peerconnections for experiment"} 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":"99844dd27de6e16ba87afef22e9d4fb6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4c916495-85bc-4372-8d68-3ef389835aca"},"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":"f8901e60-6e8c-45ab-91f0-4ba9a78acc17"},{"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":"c7bb9f71-ba52-41f5-9c17-5afc2069d816"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"58dc6644-8727-43df-815d-aa78364a8d7e"}]},"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/80108ebb-82f6-437c-95df-615e2c178dfb"},{"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/2bcf9e20-5419-4264-8b8c-42d32b723272"}],"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":"09/Jul/2024:08:56:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/80108ebb-82f6-437c-95df-615e2c178dfb? 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":"99844dd27de6e16ba87afef22e9d4fb6"} device-1 | {"level":"info","message":"GET /devices/80108ebb-82f6-437c-95df-615e2c178dfb? 200 13ms","method":"GET","requestID":"99844dd27de6e16ba87afef22e9d4fb6","responseTime":13,"status":200,"url":"/devices/80108ebb-82f6-437c-95df-615e2c178dfb?"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.518745,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515365,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2NX0.5odQOn3Izr7UXw0zxHfE5E1IsRVwOfToG5ySk3b4Y0E"} 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":"139ab560-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2NX0.5odQOn3Izr7UXw0zxHfE5E1IsRVwOfToG5ySk3b4Y0E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"97f937644c82c74b028f30447bb45640","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.695365,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2bcf9e20-5419-4264-8b8c-42d32b723272","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/2bcf9e20-5419-4264-8b8c-42d32b723272","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515365,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2NX0.5odQOn3Izr7UXw0zxHfE5E1IsRVwOfToG5ySk3b4Y0E"} 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":"97f937644c82c74b028f30447bb45640"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bcf9e20-5419-4264-8b8c-42d32b723272","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bcf9e20-5419-4264-8b8c-42d32b723272","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:03.535063181Z"}]},"request_id":"066f7387-8b4e-454a-a9a1-d84aaa9f7691","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515365.827071} 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":"97f937644c82c74b028f30447bb45640"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","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%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"53b3fe06-465c-4c4e-b8ee-f04c32f0c66b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515365.8280766} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f5b7a619-a17a-422f-b33e-dc852a53d1e2","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515365.8282871} 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":"139ab560-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"09/Jul/2024:08:56:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2bcf9e20-5419-4264-8b8c-42d32b723272? 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":"97f937644c82c74b028f30447bb45640"} device-1 | {"level":"info","message":"GET /devices/2bcf9e20-5419-4264-8b8c-42d32b723272? 200 11ms","method":"GET","requestID":"97f937644c82c74b028f30447bb45640","responseTime":11,"status":200,"url":"/devices/2bcf9e20-5419-4264-8b8c-42d32b723272?"} 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/612c5e62-99e1-477c-97dc-29b76496949d'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/612c5e62-99e1-477c-97dc-29b76496949d'"} 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 30ms","method":"POST","requestID":"139ab560-3dd1-11ef-ab4a-87fddd4f273f","responseTime":30,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4c916495-85bc-4372-8d68-3ef389835aca"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:05Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80108ebb-82f6-437c-95df-615e2c178dfb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"61225064-f43e-4ff7-93d3-a29183dfe847","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515365.8741546} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.217117,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/80108ebb-82f6-437c-95df-615e2c178dfb","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/80108ebb-82f6-437c-95df-615e2c178dfb","object_type":"device","rebac_allow":false,"scope_allow":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":"13a340e0-3dd1-11ef-ab4a-87fddd4f273f"},"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/80108ebb-82f6-437c-95df-615e2c178dfb/signaling 200 8ms","method":"POST","requestID":"13a340e0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":8,"status":200,"url":"/devices/80108ebb-82f6-437c-95df-615e2c178dfb/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:05Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bcf9e20-5419-4264-8b8c-42d32b723272","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5e5d1b1a-4f05-4b7b-a98d-b05b36a33fff","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515365.8848457} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.57994,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2bcf9e20-5419-4264-8b8c-42d32b723272","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2bcf9e20-5419-4264-8b8c-42d32b723272","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"13a4c780-3dd1-11ef-ab4a-87fddd4f273f"},"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/2bcf9e20-5419-4264-8b8c-42d32b723272/signaling 200 8ms","method":"POST","requestID":"13a4c780-3dd1-11ef-ab4a-87fddd4f273f","responseTime":8,"status":200,"url":"/devices/2bcf9e20-5419-4264-8b8c-42d32b723272/signaling"} device-1 | {"data":{"peerconnection":"612c5e62-99e1-477c-97dc-29b76496949d","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/612c5e62-99e1-477c-97dc-29b76496949d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"612c5e62-99e1-477c-97dc-29b76496949d","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/80108ebb-82f6-437c-95df-615e2c178dfb'"} 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":"5ffac782e46c5a223ceed65ce6a5abf7","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/80108ebb-82f6-437c-95df-615e2c178dfb"},{"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/2bcf9e20-5419-4264-8b8c-42d32b723272"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/612c5e62-99e1-477c-97dc-29b76496949d"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"5ffac782e46c5a223ceed65ce6a5abf7","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:56:07 +0000","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":"5ffac782e46c5a223ceed65ce6a5abf7"} device-1 | {"data":{"peerconnection":"612c5e62-99e1-477c-97dc-29b76496949d","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"612c5e62-99e1-477c-97dc-29b76496949d","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/612c5e62-99e1-477c-97dc-29b76496949d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"612c5e62-99e1-477c-97dc-29b76496949d","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":"f9efe48d10904ae2f0dfc889e85551e3","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/80108ebb-82f6-437c-95df-615e2c178dfb"},{"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/2bcf9e20-5419-4264-8b8c-42d32b723272"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/612c5e62-99e1-477c-97dc-29b76496949d"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:07Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F612c5e62-99e1-477c-97dc-29b76496949d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2b369c8b-b119-4c08-94c1-1b3a9afd33d5","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515367.964399} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.811812,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/612c5e62-99e1-477c-97dc-29b76496949d","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/612c5e62-99e1-477c-97dc-29b76496949d","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":"14e20270-3dd1-11ef-ab4a-87fddd4f273f"},"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/612c5e62-99e1-477c-97dc-29b76496949d 200 9ms","method":"GET","requestID":"14e20270-3dd1-11ef-ab4a-87fddd4f273f","responseTime":9,"status":200,"url":"/peerconnections/612c5e62-99e1-477c-97dc-29b76496949d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 37ms","method":"POST","requestID":"f9efe48d10904ae2f0dfc889e85551e3","responseTime":37,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:56:07 +0000","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":"f9efe48d10904ae2f0dfc889e85551e3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:07Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80108ebb-82f6-437c-95df-615e2c178dfb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f5d53eed-3c4b-4066-96d9-d251bb25706a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515367.9976177} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.195024,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/80108ebb-82f6-437c-95df-615e2c178dfb","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/80108ebb-82f6-437c-95df-615e2c178dfb","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"14e6e470-3dd1-11ef-ab4a-87fddd4f273f"},"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/80108ebb-82f6-437c-95df-615e2c178dfb/signaling 200 12ms","method":"POST","requestID":"14e6e470-3dd1-11ef-ab4a-87fddd4f273f","responseTime":12,"status":200,"url":"/devices/80108ebb-82f6-437c-95df-615e2c178dfb/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:08Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bcf9e20-5419-4264-8b8c-42d32b723272","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c7958066-2e77-482a-941f-0b24f1786002","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515368.0117145} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.380099,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2bcf9e20-5419-4264-8b8c-42d32b723272","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2bcf9e20-5419-4264-8b8c-42d32b723272","object_type":"device","rebac_allow":false,"scope_allow":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":"14e90750-3dd1-11ef-ab4a-87fddd4f273f"},"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/2bcf9e20-5419-4264-8b8c-42d32b723272/signaling 200 12ms","method":"POST","requestID":"14e90750-3dd1-11ef-ab4a-87fddd4f273f","responseTime":12,"status":200,"url":"/devices/2bcf9e20-5419-4264-8b8c-42d32b723272/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2OH0.tJaDQKoJ69I4onl_2T95c3CdRclAsJFH-DjkLi4tVtY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1ffe9a1d067ff76a3f58d393faf5c378","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/4c916495-85bc-4372-8d68-3ef389835aca"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:08Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.319704,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4c916495-85bc-4372-8d68-3ef389835aca","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/4c916495-85bc-4372-8d68-3ef389835aca","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515368,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2OH0.tJaDQKoJ69I4onl_2T95c3CdRclAsJFH-DjkLi4tVtY"} 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":"1ffe9a1d067ff76a3f58d393faf5c378"},"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/4c916495-85bc-4372-8d68-3ef389835aca"} gateway-1 | {"time_local":"09/Jul/2024:08:56:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/4c916495-85bc-4372-8d68-3ef389835aca HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1ffe9a1d067ff76a3f58d393faf5c378"} experiment-1 | {"level":"info","message":"GET /experiments/4c916495-85bc-4372-8d68-3ef389835aca 200 11ms","method":"GET","requestID":"1ffe9a1d067ff76a3f58d393faf5c378","responseTime":11,"status":200,"url":"/experiments/4c916495-85bc-4372-8d68-3ef389835aca"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2OH0.tJaDQKoJ69I4onl_2T95c3CdRclAsJFH-DjkLi4tVtY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ed982f05c9e8054a1a1c3e95d68cd8f0","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/4c916495-85bc-4372-8d68-3ef389835aca"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:08Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.23917,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:08Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4c916495-85bc-4372-8d68-3ef389835aca","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/4c916495-85bc-4372-8d68-3ef389835aca","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515368,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2OH0.tJaDQKoJ69I4onl_2T95c3CdRclAsJFH-DjkLi4tVtY"} 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":"ed982f05c9e8054a1a1c3e95d68cd8f0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4c916495-85bc-4372-8d68-3ef389835aca"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:08Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.166083,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:08Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/612c5e62-99e1-477c-97dc-29b76496949d","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:http://localhost/peerconnections/612c5e62-99e1-477c-97dc-29b76496949d","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515368,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2OH0.tJaDQKoJ69I4onl_2T95c3CdRclAsJFH-DjkLi4tVtY"} 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":"14f56360-3dd1-11ef-ab4a-87fddd4f273f"},"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/612c5e62-99e1-477c-97dc-29b76496949d' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/612c5e62-99e1-477c-97dc-29b76496949d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"612c5e62-99e1-477c-97dc-29b76496949d","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F612c5e62-99e1-477c-97dc-29b76496949d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F612c5e62-99e1-477c-97dc-29b76496949d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"8be5dc3a-7dbc-41a7-902d-fe957fad89bc","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515368.1092227} 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":"8f1f4a94c7c8f71cb0fabbb047b06eae","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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1c7170bb-93fc-483f-b1a8-22dda1d32154","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515368.1096559} 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":"14f56360-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} 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/80108ebb-82f6-437c-95df-615e2c178dfb"},{"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/2bcf9e20-5419-4264-8b8c-42d32b723272"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/612c5e62-99e1-477c-97dc-29b76496949d"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"86ba6b22e43721dd8b914e13cafe9734","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/80108ebb-82f6-437c-95df-615e2c178dfb"},{"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/2bcf9e20-5419-4264-8b8c-42d32b723272"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/612c5e62-99e1-477c-97dc-29b76496949d"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"612c5e62-99e1-477c-97dc-29b76496949d","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/612c5e62-99e1-477c-97dc-29b76496949d 204 44ms","method":"DELETE","requestID":"14f56360-3dd1-11ef-ab4a-87fddd4f273f","responseTime":44,"status":204,"url":"/peerconnections/612c5e62-99e1-477c-97dc-29b76496949d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4c916495-85bc-4372-8d68-3ef389835aca"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:08Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80108ebb-82f6-437c-95df-615e2c178dfb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ce22f604-c770-4a2c-b335-df2d9bd8d0fd","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515368.157161} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.348012,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/80108ebb-82f6-437c-95df-615e2c178dfb","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/80108ebb-82f6-437c-95df-615e2c178dfb","object_type":"device","rebac_allow":false,"scope_allow":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":"14ff0050-3dd1-11ef-ab4a-87fddd4f273f"},"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/80108ebb-82f6-437c-95df-615e2c178dfb/signaling 200 14ms","method":"POST","requestID":"14ff0050-3dd1-11ef-ab4a-87fddd4f273f","responseTime":14,"status":200,"url":"/devices/80108ebb-82f6-437c-95df-615e2c178dfb/signaling"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4c916495-85bc-4372-8d68-3ef389835aca': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4c916495-85bc-4372-8d68-3ef389835aca","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"8a48bb77-f784-44d1-9274-d35a2ac03481","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515368.1652477} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b89d9bf1-91e6-4c1b-94f7-2a524543ae19","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515368.1656601} 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":"ed982f05c9e8054a1a1c3e95d68cd8f0"},"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:44070","level":"info","msg":"Received request.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:08Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bcf9e20-5419-4264-8b8c-42d32b723272","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3a35776d-82e0-403e-a4bb-370af8d36548","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515368.175455} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.633028,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2bcf9e20-5419-4264-8b8c-42d32b723272","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2bcf9e20-5419-4264-8b8c-42d32b723272","object_type":"device","rebac_allow":false,"scope_allow":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":"1501bf70-3dd1-11ef-ab4a-87fddd4f273f"},"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/2bcf9e20-5419-4264-8b8c-42d32b723272/signaling 200 16ms","method":"POST","requestID":"1501bf70-3dd1-11ef-ab4a-87fddd4f273f","responseTime":16,"status":200,"url":"/devices/2bcf9e20-5419-4264-8b8c-42d32b723272/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/4c916495-85bc-4372-8d68-3ef389835aca"} gateway-1 | {"time_local":"09/Jul/2024:08:56:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/4c916495-85bc-4372-8d68-3ef389835aca HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.167","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ed982f05c9e8054a1a1c3e95d68cd8f0"} experiment-1 | {"level":"info","message":"DELETE /experiments/4c916495-85bc-4372-8d68-3ef389835aca 204 164ms","method":"DELETE","requestID":"ed982f05c9e8054a1a1c3e95d68cd8f0","responseTime":164,"status":204,"url":"/experiments/4c916495-85bc-4372-8d68-3ef389835aca"} gateway-1 | {"time_local":"09/Jul/2024:08:56:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2799","request_time":"4.130","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"7fb30b19b45978275658c00327e02884"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 129ms","method":"POST","requestID":"8f1f4a94c7c8f71cb0fabbb047b06eae","responseTime":129,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:56: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.132","http_referrer":"","http_user_agent":"node-fetch","requestID":"8f1f4a94c7c8f71cb0fabbb047b06eae"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2OH0.tJaDQKoJ69I4onl_2T95c3CdRclAsJFH-DjkLi4tVtY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e36cb994ca8209fb91ae883390fd3af3","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 132ms","method":"POST","requestID":"86ba6b22e43721dd8b914e13cafe9734","responseTime":132,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:56: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.136","http_referrer":"","http_user_agent":"node-fetch","requestID":"86ba6b22e43721dd8b914e13cafe9734"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:08Z"} gateway-1 | {"time_local":"09/Jul/2024:08:56:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2709","request_time":"2.642","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"97d2e17d7c58fe2f8791ec4d977b03b3"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.176355,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515368,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2OH0.tJaDQKoJ69I4onl_2T95c3CdRclAsJFH-DjkLi4tVtY"} 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":"e36cb994ca8209fb91ae883390fd3af3"},"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/2bcf9e20-5419-4264-8b8c-42d32b723272' 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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0307350f-114f-4403-be37-1aa335d7c787","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c6e28f61-2be4-47b6-8ae0-bfca5cd3cc93","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515368.267189} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/80108ebb-82f6-437c-95df-615e2c178dfb' closed"} 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":"e36cb994ca8209fb91ae883390fd3af3"},"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":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e0ef561e-aaca-45f3-a113-6a956196490a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515368.2758138} 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":"e36cb994ca8209fb91ae883390fd3af3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0307350f-114f-4403-be37-1aa335d7c787","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"0e8a3b06-07d2-42de-8593-601bedfd2392","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515368.286576} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c04c92e2-3a19-41d6-b4d2-4f0cb195f4db","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515368.2868173} 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":"e36cb994ca8209fb91ae883390fd3af3"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0307350f-114f-4403-be37-1aa335d7c787","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0307350f-114f-4403-be37-1aa335d7c787","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:08.286549629Z"}]},"request_id":"5618b463-fd91-4c6e-9e5a-c4130cba60b6","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515368.2919285} 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":"e36cb994ca8209fb91ae883390fd3af3"},"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":"09/Jul/2024:08:56: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.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e36cb994ca8209fb91ae883390fd3af3"} device-1 | {"level":"info","message":"POST /devices? 201 49ms","method":"POST","requestID":"e36cb994ca8209fb91ae883390fd3af3","responseTime":49,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2OH0.tJaDQKoJ69I4onl_2T95c3CdRclAsJFH-DjkLi4tVtY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c99a61d4fe0497b4003ff8bb22c92d92","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:08Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.759474,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515368,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2OH0.tJaDQKoJ69I4onl_2T95c3CdRclAsJFH-DjkLi4tVtY"} 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":"c99a61d4fe0497b4003ff8bb22c92d92"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7efbd943-2dac-44b4-a423-71d3f00d9735","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5fdc50df-56ec-4b7d-a8a6-591df16013fa","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515368.320939} 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":"c99a61d4fe0497b4003ff8bb22c92d92"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"95d6062e-a9e9-41ee-871a-0b2aa2e3755a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515368.3252547} 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":"c99a61d4fe0497b4003ff8bb22c92d92"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7efbd943-2dac-44b4-a423-71d3f00d9735","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"86ea4eb9-0ff7-48e2-8893-1b0892f4d1ef","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515368.3353684} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bf0376e9-d3c9-497a-b802-93356c8d870a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515368.3355072} 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":"c99a61d4fe0497b4003ff8bb22c92d92"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7efbd943-2dac-44b4-a423-71d3f00d9735","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7efbd943-2dac-44b4-a423-71d3f00d9735","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:08.335345746Z"}]},"request_id":"61729038-1705-43e8-9647-2889960a0f5c","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515368.3393717} 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":"c99a61d4fe0497b4003ff8bb22c92d92"},"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":"09/Jul/2024:08:56:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c99a61d4fe0497b4003ff8bb22c92d92"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"c99a61d4fe0497b4003ff8bb22c92d92","responseTime":42,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2OH0.tJaDQKoJ69I4onl_2T95c3CdRclAsJFH-DjkLi4tVtY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8c55842b8cdc53b8ef8dac07d94b7352","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:08Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.886137,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:08Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7efbd943-2dac-44b4-a423-71d3f00d9735","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/7efbd943-2dac-44b4-a423-71d3f00d9735","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515368,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2OH0.tJaDQKoJ69I4onl_2T95c3CdRclAsJFH-DjkLi4tVtY"} 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":"8c55842b8cdc53b8ef8dac07d94b7352"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7efbd943-2dac-44b4-a423-71d3f00d9735","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7efbd943-2dac-44b4-a423-71d3f00d9735","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:08.335345746Z"}]},"request_id":"5bb09f5c-5564-4a84-aa73-0eb0c898a7fb","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515368.8321745} 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":"8c55842b8cdc53b8ef8dac07d94b7352"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4b4f1081-7e4b-406f-ae51-04fbf3f76d3c","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515368.8409288} 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":"8c55842b8cdc53b8ef8dac07d94b7352"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7efbd943-2dac-44b4-a423-71d3f00d9735","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7efbd943-2dac-44b4-a423-71d3f00d9735","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:08.335345746Z"}]},"request_id":"e8d1903a-a58b-4450-8021-cfc90d3093d2","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515368.8547783} 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":"8c55842b8cdc53b8ef8dac07d94b7352"},"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/7efbd943-2dac-44b4-a423-71d3f00d9735 200 40ms","method":"PATCH","requestID":"8c55842b8cdc53b8ef8dac07d94b7352","responseTime":40,"status":200,"url":"/devices/7efbd943-2dac-44b4-a423-71d3f00d9735"} gateway-1 | {"time_local":"09/Jul/2024:08:56:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/7efbd943-2dac-44b4-a423-71d3f00d9735 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":"8c55842b8cdc53b8ef8dac07d94b7352"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2OH0.tJaDQKoJ69I4onl_2T95c3CdRclAsJFH-DjkLi4tVtY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f468d343fc1b056ec475e9d2d95ae58a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:08Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.158812,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:08Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7efbd943-2dac-44b4-a423-71d3f00d9735","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/7efbd943-2dac-44b4-a423-71d3f00d9735","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515368,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM2OH0.tJaDQKoJ69I4onl_2T95c3CdRclAsJFH-DjkLi4tVtY"} 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":"f468d343fc1b056ec475e9d2d95ae58a"},"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":"09/Jul/2024:08:56:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7efbd943-2dac-44b4-a423-71d3f00d9735/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":"f468d343fc1b056ec475e9d2d95ae58a"} device-1 | {"level":"info","message":"POST /devices/7efbd943-2dac-44b4-a423-71d3f00d9735/websocket 200 21ms","method":"POST","requestID":"f468d343fc1b056ec475e9d2d95ae58a","responseTime":21,"status":200,"url":"/devices/7efbd943-2dac-44b4-a423-71d3f00d9735/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/7efbd943-2dac-44b4-a423-71d3f00d9735' 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":"dabf1e9474d76a1ffc6d296e582bbda7","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"09/Jul/2024:08:56:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/0307350f-114f-4403-be37-1aa335d7c787/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.006","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"dabf1e9474d76a1ffc6d296e582bbda7"} device-1 | {"level":"info","message":"OPTIONS /devices/0307350f-114f-4403-be37-1aa335d7c787/websocket 200 1ms","method":"OPTIONS","requestID":"dabf1e9474d76a1ffc6d296e582bbda7","responseTime":1,"status":200,"url":"/devices/0307350f-114f-4403-be37-1aa335d7c787/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3MH0.qFo_osIqnCRoooXySQw_OrF9fYjocKv_TEGw2uld68M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8db7753a154634da25f4e5d5b262b2f6","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:10Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.189169,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0307350f-114f-4403-be37-1aa335d7c787","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/0307350f-114f-4403-be37-1aa335d7c787","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515370,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3MH0.qFo_osIqnCRoooXySQw_OrF9fYjocKv_TEGw2uld68M"} 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":"8db7753a154634da25f4e5d5b262b2f6"},"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/0307350f-114f-4403-be37-1aa335d7c787/websocket 200 25ms","method":"POST","requestID":"8db7753a154634da25f4e5d5b262b2f6","responseTime":25,"status":200,"url":"/devices/0307350f-114f-4403-be37-1aa335d7c787/websocket"} gateway-1 | {"time_local":"09/Jul/2024:08:56:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0307350f-114f-4403-be37-1aa335d7c787/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":"8db7753a154634da25f4e5d5b262b2f6"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0307350f-114f-4403-be37-1aa335d7c787' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3MH0.qFo_osIqnCRoooXySQw_OrF9fYjocKv_TEGw2uld68M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fd802cc259bc847ca46da5d6916b9e01","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:10Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.260273,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0307350f-114f-4403-be37-1aa335d7c787","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/0307350f-114f-4403-be37-1aa335d7c787","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515370,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3MH0.qFo_osIqnCRoooXySQw_OrF9fYjocKv_TEGw2uld68M"} 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":"fd802cc259bc847ca46da5d6916b9e01"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0307350f-114f-4403-be37-1aa335d7c787","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0307350f-114f-4403-be37-1aa335d7c787","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:08.286549629Z"}]},"request_id":"256a8971-e3ac-455a-8afc-071c2248b2ed","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515370.4360807} 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":"fd802cc259bc847ca46da5d6916b9e01"},"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":"09/Jul/2024:08:56:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0307350f-114f-4403-be37-1aa335d7c787? 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":"fd802cc259bc847ca46da5d6916b9e01"} device-1 | {"level":"info","message":"GET /devices/0307350f-114f-4403-be37-1aa335d7c787? 200 16ms","method":"GET","requestID":"fd802cc259bc847ca46da5d6916b9e01","responseTime":16,"status":200,"url":"/devices/0307350f-114f-4403-be37-1aa335d7c787?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3MH0.qFo_osIqnCRoooXySQw_OrF9fYjocKv_TEGw2uld68M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"10820c48a62424c8ec00becc117e87fb","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:10Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.200548,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7efbd943-2dac-44b4-a423-71d3f00d9735","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/7efbd943-2dac-44b4-a423-71d3f00d9735","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515370,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3MH0.qFo_osIqnCRoooXySQw_OrF9fYjocKv_TEGw2uld68M"} 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":"10820c48a62424c8ec00becc117e87fb"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7efbd943-2dac-44b4-a423-71d3f00d9735","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7efbd943-2dac-44b4-a423-71d3f00d9735","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:08.335345746Z"}]},"request_id":"231844e7-c6c7-4efd-95e9-fd59f6933205","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515370.4606676} 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":"10820c48a62424c8ec00becc117e87fb"},"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/7efbd943-2dac-44b4-a423-71d3f00d9735? 200 17ms","method":"GET","requestID":"10820c48a62424c8ec00becc117e87fb","responseTime":17,"status":200,"url":"/devices/7efbd943-2dac-44b4-a423-71d3f00d9735?"} gateway-1 | {"time_local":"09/Jul/2024:08:56:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7efbd943-2dac-44b4-a423-71d3f00d9735? 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":"10820c48a62424c8ec00becc117e87fb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3MH0.qFo_osIqnCRoooXySQw_OrF9fYjocKv_TEGw2uld68M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"eb5cd29a041cfbe15a5b74acba02eaf1","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:44070","level":"info","msg":"Received request.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:10Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.176913,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515370,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3MH0.qFo_osIqnCRoooXySQw_OrF9fYjocKv_TEGw2uld68M"} 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":"eb5cd29a041cfbe15a5b74acba02eaf1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5ab5becc-540a-43f2-bed0-8748f14c586e"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5ab5becc-540a-43f2-bed0-8748f14c586e"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5ab5becc-540a-43f2-bed0-8748f14c586e"},"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:44070","level":"info","msg":"Received request.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:10Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.093782,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0307350f-114f-4403-be37-1aa335d7c787","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/0307350f-114f-4403-be37-1aa335d7c787","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515370,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3MH0.qFo_osIqnCRoooXySQw_OrF9fYjocKv_TEGw2uld68M"} 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":"16687b60-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Received request.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:10Z"} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Sent response.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.344519,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7efbd943-2dac-44b4-a423-71d3f00d9735","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/7efbd943-2dac-44b4-a423-71d3f00d9735","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515370,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3MH0.qFo_osIqnCRoooXySQw_OrF9fYjocKv_TEGw2uld68M"} 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":"1668c980-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0307350f-114f-4403-be37-1aa335d7c787","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0307350f-114f-4403-be37-1aa335d7c787","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:08.286549629Z"}]},"request_id":"7e5fba29-4255-415a-8455-021dadfe82e6","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515370.5307386} 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":"16687b60-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId 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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7efbd943-2dac-44b4-a423-71d3f00d9735","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7efbd943-2dac-44b4-a423-71d3f00d9735","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:08.335345746Z"}]},"request_id":"a115ab18-3cc3-4525-9d8f-3b46950aae0e","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515370.5379453} device-1 | {"level":"info","message":"GET /devices/0307350f-114f-4403-be37-1aa335d7c787? 200 20ms","method":"GET","requestID":"16687b60-3dd1-11ef-ab4a-87fddd4f273f","responseTime":20,"status":200,"url":"/devices/0307350f-114f-4403-be37-1aa335d7c787?"} 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":"1668c980-3dd1-11ef-ab4a-87fddd4f273f"},"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/7efbd943-2dac-44b4-a423-71d3f00d9735? 200 22ms","method":"GET","requestID":"1668c980-3dd1-11ef-ab4a-87fddd4f273f","responseTime":22,"status":200,"url":"/devices/7efbd943-2dac-44b4-a423-71d3f00d9735?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5ab5becc-540a-43f2-bed0-8748f14c586e"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5ab5becc-540a-43f2-bed0-8748f14c586e"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5ab5becc-540a-43f2-bed0-8748f14c586e"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5ab5becc-540a-43f2-bed0-8748f14c586e"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5ab5becc-540a-43f2-bed0-8748f14c586e"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5ab5becc-540a-43f2-bed0-8748f14c586e"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5ab5becc-540a-43f2-bed0-8748f14c586e"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5ab5becc-540a-43f2-bed0-8748f14c586e"},"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:44070","level":"info","msg":"Received request.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:10Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.01351,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:10Z"} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Received request.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:10Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5ab5becc-540a-43f2-bed0-8748f14c586e"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0307350f-114f-4403-be37-1aa335d7c787","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/0307350f-114f-4403-be37-1aa335d7c787","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515370,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3MH0.qFo_osIqnCRoooXySQw_OrF9fYjocKv_TEGw2uld68M"} 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":"16741420-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Sent response.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.899214,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7efbd943-2dac-44b4-a423-71d3f00d9735","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/7efbd943-2dac-44b4-a423-71d3f00d9735","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515370,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3MH0.qFo_osIqnCRoooXySQw_OrF9fYjocKv_TEGw2uld68M"} 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":"16746240-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:10Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0307350f-114f-4403-be37-1aa335d7c787","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4132838a-c9be-4735-afa7-c2edde5578a2","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515370.6053205} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7efbd943-2dac-44b4-a423-71d3f00d9735","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7efbd943-2dac-44b4-a423-71d3f00d9735","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:08.335345746Z"}]},"request_id":"fdf57a92-f7aa-4e95-92f2-2e29e37dae47","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515370.6066933} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.53844,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0307350f-114f-4403-be37-1aa335d7c787","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0307350f-114f-4403-be37-1aa335d7c787","object_type":"device","rebac_allow":false,"scope_allow":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":"1674b060-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} 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":"16746240-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0307350f-114f-4403-be37-1aa335d7c787","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0307350f-114f-4403-be37-1aa335d7c787","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:08.286549629Z"}]},"request_id":"d7256ffc-a70a-4432-b67f-286ec467429c","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515370.6074343} 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":"16741420-3dd1-11ef-ab4a-87fddd4f273f"},"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/0307350f-114f-4403-be37-1aa335d7c787/signaling 200 15ms","method":"POST","requestID":"1674b060-3dd1-11ef-ab4a-87fddd4f273f","responseTime":15,"status":200,"url":"/devices/0307350f-114f-4403-be37-1aa335d7c787/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/7efbd943-2dac-44b4-a423-71d3f00d9735? 200 18ms","method":"GET","requestID":"16746240-3dd1-11ef-ab4a-87fddd4f273f","responseTime":18,"status":200,"url":"/devices/7efbd943-2dac-44b4-a423-71d3f00d9735?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/0307350f-114f-4403-be37-1aa335d7c787? 200 21ms","method":"GET","requestID":"16741420-3dd1-11ef-ab4a-87fddd4f273f","responseTime":21,"status":200,"url":"/devices/0307350f-114f-4403-be37-1aa335d7c787?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5ab5becc-540a-43f2-bed0-8748f14c586e#owner@http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5ab5becc-540a-43f2-bed0-8748f14c586e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"a583ebfd-f2e0-4901-8f6c-0a107ac7b5ce","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515370.6170936} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4c7e6a47-0d4c-476e-b285-e063d5a900d2","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515370.6174047} 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":"eb5cd29a041cfbe15a5b74acba02eaf1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7efbd943-2dac-44b4-a423-71d3f00d9735","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1aab8c55-f383-4b38-92d4-42dff5837655","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515370.6205819} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:10Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.085115,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:10Z"} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Received request.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7efbd943-2dac-44b4-a423-71d3f00d9735","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7efbd943-2dac-44b4-a423-71d3f00d9735","object_type":"device","rebac_allow":false,"scope_allow":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":"16774870-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0307350f-114f-4403-be37-1aa335d7c787","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"14661cde-2727-4b38-8269-f2d3ed97d24f","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515370.6254497} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Sent response.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.807494,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0307350f-114f-4403-be37-1aa335d7c787","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0307350f-114f-4403-be37-1aa335d7c787","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 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":"1677bda0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/5ab5becc-540a-43f2-bed0-8748f14c586e","user":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"POST /devices/7efbd943-2dac-44b4-a423-71d3f00d9735/signaling 200 12ms","method":"POST","requestID":"16774870-3dd1-11ef-ab4a-87fddd4f273f","responseTime":12,"status":200,"url":"/devices/7efbd943-2dac-44b4-a423-71d3f00d9735/signaling"} gateway-1 | {"time_local":"09/Jul/2024:08:56:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.159","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eb5cd29a041cfbe15a5b74acba02eaf1"} experiment-1 | {"level":"info","message":"POST /experiments? 201 151ms","method":"POST","requestID":"eb5cd29a041cfbe15a5b74acba02eaf1","responseTime":151,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/0307350f-114f-4403-be37-1aa335d7c787/signaling 200 11ms","method":"POST","requestID":"1677bda0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/devices/0307350f-114f-4403-be37-1aa335d7c787/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3MH0.qFo_osIqnCRoooXySQw_OrF9fYjocKv_TEGw2uld68M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c476385facb82b278bdb7bf220c1e96a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:10Z"} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Received request.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:10Z"} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Sent response.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.599933,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:10Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7efbd943-2dac-44b4-a423-71d3f00d9735","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7fed692c-9354-4928-adcc-6243fdd9c152","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515370.6366386} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0307350f-114f-4403-be37-1aa335d7c787","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/0307350f-114f-4403-be37-1aa335d7c787","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515370,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3MH0.qFo_osIqnCRoooXySQw_OrF9fYjocKv_TEGw2uld68M"} 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":"c476385facb82b278bdb7bf220c1e96a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.236895,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7efbd943-2dac-44b4-a423-71d3f00d9735","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7efbd943-2dac-44b4-a423-71d3f00d9735","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"1679e080-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0307350f-114f-4403-be37-1aa335d7c787","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0307350f-114f-4403-be37-1aa335d7c787","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:08.286549629Z"}]},"request_id":"a70d705f-fcac-4824-baa4-4db83dd157b7","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515370.641296} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/7efbd943-2dac-44b4-a423-71d3f00d9735/signaling 200 10ms","method":"POST","requestID":"1679e080-3dd1-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/devices/7efbd943-2dac-44b4-a423-71d3f00d9735/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":"c476385facb82b278bdb7bf220c1e96a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5ab5becc-540a-43f2-bed0-8748f14c586e"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5ab5becc-540a-43f2-bed0-8748f14c586e"},"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":"6d02351d-fa84-4762-90af-2dd4bb013817"},{"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":"47605c8d-dcc3-48d9-b22a-e9d88b4cd626"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"496b792c-107e-4238-bb7f-86461ab2973c"}]},"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/0307350f-114f-4403-be37-1aa335d7c787"},{"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/7efbd943-2dac-44b4-a423-71d3f00d9735"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"09/Jul/2024:08:56:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0307350f-114f-4403-be37-1aa335d7c787? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c476385facb82b278bdb7bf220c1e96a"} device-1 | {"level":"info","message":"GET /devices/0307350f-114f-4403-be37-1aa335d7c787? 200 11ms","method":"GET","requestID":"c476385facb82b278bdb7bf220c1e96a","responseTime":11,"status":200,"url":"/devices/0307350f-114f-4403-be37-1aa335d7c787?"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:10Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.88339,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:10Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3MH0.qFo_osIqnCRoooXySQw_OrF9fYjocKv_TEGw2uld68M","level":"info","message":"auth send jwt"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515370,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3MH0.qFo_osIqnCRoooXySQw_OrF9fYjocKv_TEGw2uld68M"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5887981dde29723115e32c209e246e6e","responseTime":3,"status":200,"url":"/auth"} 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":"167bdc50-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:10Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.805613,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7efbd943-2dac-44b4-a423-71d3f00d9735","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/7efbd943-2dac-44b4-a423-71d3f00d9735","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515370,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3MH0.qFo_osIqnCRoooXySQw_OrF9fYjocKv_TEGw2uld68M"} 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":"5887981dde29723115e32c209e246e6e"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7efbd943-2dac-44b4-a423-71d3f00d9735","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7efbd943-2dac-44b4-a423-71d3f00d9735","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:08.335345746Z"}]},"request_id":"598725ca-ceb7-43bc-b499-115372c111db","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515370.657491} 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":"5887981dde29723115e32c209e246e6e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","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%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"fd7834fa-8a61-4537-9f13-7453fe2f81b5","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515370.658313} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"39d1e7fa-f522-46e9-a032-eb469b2d6fca","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515370.6587195} 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":"167bdc50-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"09/Jul/2024:08:56:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7efbd943-2dac-44b4-a423-71d3f00d9735? 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":"5887981dde29723115e32c209e246e6e"} device-1 | {"level":"info","message":"GET /devices/7efbd943-2dac-44b4-a423-71d3f00d9735? 200 10ms","method":"GET","requestID":"5887981dde29723115e32c209e246e6e","responseTime":10,"status":200,"url":"/devices/7efbd943-2dac-44b4-a423-71d3f00d9735?"} 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/5b87d329-fd4c-4520-b944-e330d71b5eb0'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/5b87d329-fd4c-4520-b944-e330d71b5eb0'"} 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 31ms","method":"POST","requestID":"167bdc50-3dd1-11ef-ab4a-87fddd4f273f","responseTime":31,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5ab5becc-540a-43f2-bed0-8748f14c586e"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:10Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0307350f-114f-4403-be37-1aa335d7c787","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2d2a3aa6-5db8-4aba-b37d-8a58dd51deb7","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515370.708732} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.265873,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0307350f-114f-4403-be37-1aa335d7c787","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0307350f-114f-4403-be37-1aa335d7c787","object_type":"device","rebac_allow":false,"scope_allow":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":"1684dd00-3dd1-11ef-ab4a-87fddd4f273f"},"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/0307350f-114f-4403-be37-1aa335d7c787/signaling 200 8ms","method":"POST","requestID":"1684dd00-3dd1-11ef-ab4a-87fddd4f273f","responseTime":8,"status":200,"url":"/devices/0307350f-114f-4403-be37-1aa335d7c787/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:10Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7efbd943-2dac-44b4-a423-71d3f00d9735","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"88489b5f-b01f-4bad-8191-0adfd70991ae","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515370.720189} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.916615,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7efbd943-2dac-44b4-a423-71d3f00d9735","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7efbd943-2dac-44b4-a423-71d3f00d9735","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"168663a0-3dd1-11ef-ab4a-87fddd4f273f"},"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/7efbd943-2dac-44b4-a423-71d3f00d9735/signaling 200 9ms","method":"POST","requestID":"168663a0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":9,"status":200,"url":"/devices/7efbd943-2dac-44b4-a423-71d3f00d9735/signaling"} device-1 | {"data":{"peerconnection":"5b87d329-fd4c-4520-b944-e330d71b5eb0","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/5b87d329-fd4c-4520-b944-e330d71b5eb0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5b87d329-fd4c-4520-b944-e330d71b5eb0","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":"b4ec9a1d99cd62d9e9c90ba7a4547af1","responseTime":2,"status":200,"url":"/auth"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/0307350f-114f-4403-be37-1aa335d7c787'"} 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/0307350f-114f-4403-be37-1aa335d7c787"},{"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/7efbd943-2dac-44b4-a423-71d3f00d9735"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/5b87d329-fd4c-4520-b944-e330d71b5eb0"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"b4ec9a1d99cd62d9e9c90ba7a4547af1","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:56:12 +0000","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":"b4ec9a1d99cd62d9e9c90ba7a4547af1"} device-1 | {"data":{"peerconnection":"5b87d329-fd4c-4520-b944-e330d71b5eb0","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"5b87d329-fd4c-4520-b944-e330d71b5eb0","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/5b87d329-fd4c-4520-b944-e330d71b5eb0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5b87d329-fd4c-4520-b944-e330d71b5eb0","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":"72b5d0a7b214358cd55d19814e019aab","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/0307350f-114f-4403-be37-1aa335d7c787"},{"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/7efbd943-2dac-44b4-a423-71d3f00d9735"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/5b87d329-fd4c-4520-b944-e330d71b5eb0"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:12Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5b87d329-fd4c-4520-b944-e330d71b5eb0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b8451638-a8b3-4e06-bb49-f58d0545bc8b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515372.7994475} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.560043,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5b87d329-fd4c-4520-b944-e330d71b5eb0","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/5b87d329-fd4c-4520-b944-e330d71b5eb0","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":"17c3ecb0-3dd1-11ef-ab4a-87fddd4f273f"},"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/5b87d329-fd4c-4520-b944-e330d71b5eb0 200 8ms","method":"GET","requestID":"17c3ecb0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":8,"status":200,"url":"/peerconnections/5b87d329-fd4c-4520-b944-e330d71b5eb0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 34ms","method":"POST","requestID":"72b5d0a7b214358cd55d19814e019aab","responseTime":34,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:56:12 +0000","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":"72b5d0a7b214358cd55d19814e019aab"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:12Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0307350f-114f-4403-be37-1aa335d7c787","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"18a54c81-b828-4a0a-90bb-aac284af1884","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515372.8285758} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.401622,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0307350f-114f-4403-be37-1aa335d7c787","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0307350f-114f-4403-be37-1aa335d7c787","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"17c85980-3dd1-11ef-ab4a-87fddd4f273f"},"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/0307350f-114f-4403-be37-1aa335d7c787/signaling 200 9ms","method":"POST","requestID":"17c85980-3dd1-11ef-ab4a-87fddd4f273f","responseTime":9,"status":200,"url":"/devices/0307350f-114f-4403-be37-1aa335d7c787/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:12Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7efbd943-2dac-44b4-a423-71d3f00d9735","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"74c69326-5bf3-43d1-b698-c8db14070d6e","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515372.8411822} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.557626,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7efbd943-2dac-44b4-a423-71d3f00d9735","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7efbd943-2dac-44b4-a423-71d3f00d9735","object_type":"device","rebac_allow":false,"scope_allow":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":"17ca0730-3dd1-11ef-ab4a-87fddd4f273f"},"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/7efbd943-2dac-44b4-a423-71d3f00d9735/signaling 200 11ms","method":"POST","requestID":"17ca0730-3dd1-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/devices/7efbd943-2dac-44b4-a423-71d3f00d9735/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3Mn0.e0iCm26i0T-W011Ssb_pJAKDGZWocf-vXh79D17V7xw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a0e0da344fdc66f44ed7913db7915ada","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/5ab5becc-540a-43f2-bed0-8748f14c586e"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:12Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.25323,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5ab5becc-540a-43f2-bed0-8748f14c586e","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/5ab5becc-540a-43f2-bed0-8748f14c586e","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515372,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3Mn0.e0iCm26i0T-W011Ssb_pJAKDGZWocf-vXh79D17V7xw"} 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":"a0e0da344fdc66f44ed7913db7915ada"},"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/5ab5becc-540a-43f2-bed0-8748f14c586e"} gateway-1 | {"time_local":"09/Jul/2024:08:56:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/5ab5becc-540a-43f2-bed0-8748f14c586e 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":"a0e0da344fdc66f44ed7913db7915ada"} experiment-1 | {"level":"info","message":"GET /experiments/5ab5becc-540a-43f2-bed0-8748f14c586e 200 16ms","method":"GET","requestID":"a0e0da344fdc66f44ed7913db7915ada","responseTime":16,"status":200,"url":"/experiments/5ab5becc-540a-43f2-bed0-8748f14c586e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3Mn0.e0iCm26i0T-W011Ssb_pJAKDGZWocf-vXh79D17V7xw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0d0fb381a254f1177cd4ce68f4dcf43a","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/5ab5becc-540a-43f2-bed0-8748f14c586e"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:12Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.325975,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:12Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5ab5becc-540a-43f2-bed0-8748f14c586e","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/5ab5becc-540a-43f2-bed0-8748f14c586e","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515372,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3Mn0.e0iCm26i0T-W011Ssb_pJAKDGZWocf-vXh79D17V7xw"} 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":"0d0fb381a254f1177cd4ce68f4dcf43a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5ab5becc-540a-43f2-bed0-8748f14c586e"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:12Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.169344,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:12Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5b87d329-fd4c-4520-b944-e330d71b5eb0","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:http://localhost/peerconnections/5b87d329-fd4c-4520-b944-e330d71b5eb0","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515372,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3Mn0.e0iCm26i0T-W011Ssb_pJAKDGZWocf-vXh79D17V7xw"} 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":"17d8d440-3dd1-11ef-ab4a-87fddd4f273f"},"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/5b87d329-fd4c-4520-b944-e330d71b5eb0' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/5b87d329-fd4c-4520-b944-e330d71b5eb0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5b87d329-fd4c-4520-b944-e330d71b5eb0","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5b87d329-fd4c-4520-b944-e330d71b5eb0': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5b87d329-fd4c-4520-b944-e330d71b5eb0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"19fe4824-ea61-431e-8d52-1dd00db4fe99","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515372.956872} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ca838df9-7bc0-4ceb-b8ec-e4ddef8890f8","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515372.9572608} 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":"cf95cf313b382a55f815988f95bbc932","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":"17d8d440-3dd1-11ef-ab4a-87fddd4f273f"},"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)"} 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/0307350f-114f-4403-be37-1aa335d7c787"},{"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/7efbd943-2dac-44b4-a423-71d3f00d9735"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5b87d329-fd4c-4520-b944-e330d71b5eb0"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2183e31d573646ad69f583802677c688","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/0307350f-114f-4403-be37-1aa335d7c787"},{"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/7efbd943-2dac-44b4-a423-71d3f00d9735"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5b87d329-fd4c-4520-b944-e330d71b5eb0"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"5b87d329-fd4c-4520-b944-e330d71b5eb0","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/5b87d329-fd4c-4520-b944-e330d71b5eb0 204 48ms","method":"DELETE","requestID":"17d8d440-3dd1-11ef-ab4a-87fddd4f273f","responseTime":48,"status":204,"url":"/peerconnections/5b87d329-fd4c-4520-b944-e330d71b5eb0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5ab5becc-540a-43f2-bed0-8748f14c586e"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:13Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0307350f-114f-4403-be37-1aa335d7c787","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"583a9133-db51-4fe7-80f0-b764aee68ae0","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515373.009147} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.974181,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0307350f-114f-4403-be37-1aa335d7c787","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0307350f-114f-4403-be37-1aa335d7c787","object_type":"device","rebac_allow":false,"scope_allow":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":"17e382a0-3dd1-11ef-ab4a-87fddd4f273f"},"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/0307350f-114f-4403-be37-1aa335d7c787/signaling 200 14ms","method":"POST","requestID":"17e382a0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":14,"status":200,"url":"/devices/0307350f-114f-4403-be37-1aa335d7c787/signaling"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5ab5becc-540a-43f2-bed0-8748f14c586e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5ab5becc-540a-43f2-bed0-8748f14c586e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"10dad80d-1ebb-4481-88e9-3897e079e161","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515373.016622} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6f882553-1971-42e5-b2a5-f9122b433309","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515373.017243} 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":"0d0fb381a254f1177cd4ce68f4dcf43a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:13Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7efbd943-2dac-44b4-a423-71d3f00d9735","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e839cc78-1564-4145-abdb-c1e7af87c4b1","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515373.026529} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.904359,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7efbd943-2dac-44b4-a423-71d3f00d9735","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7efbd943-2dac-44b4-a423-71d3f00d9735","object_type":"device","rebac_allow":false,"scope_allow":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":"17e641c0-3dd1-11ef-ab4a-87fddd4f273f"},"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/7efbd943-2dac-44b4-a423-71d3f00d9735/signaling 200 13ms","method":"POST","requestID":"17e641c0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":13,"status":200,"url":"/devices/7efbd943-2dac-44b4-a423-71d3f00d9735/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/5ab5becc-540a-43f2-bed0-8748f14c586e"} gateway-1 | {"time_local":"09/Jul/2024:08:56:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/5ab5becc-540a-43f2-bed0-8748f14c586e HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.177","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0d0fb381a254f1177cd4ce68f4dcf43a"} gateway-1 | {"time_local":"09/Jul/2024:08:56:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2799","request_time":"4.201","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"8558e0f44293a92d854cb7ce69695b60"} experiment-1 | {"level":"info","message":"DELETE /experiments/5ab5becc-540a-43f2-bed0-8748f14c586e 204 174ms","method":"DELETE","requestID":"0d0fb381a254f1177cd4ce68f4dcf43a","responseTime":174,"status":204,"url":"/experiments/5ab5becc-540a-43f2-bed0-8748f14c586e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 133ms","method":"POST","requestID":"cf95cf313b382a55f815988f95bbc932","responseTime":133,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:56: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.139","http_referrer":"","http_user_agent":"node-fetch","requestID":"cf95cf313b382a55f815988f95bbc932"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 133ms","method":"POST","requestID":"2183e31d573646ad69f583802677c688","responseTime":133,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3M30.BQY5gMiMB09Zs6fY1fD4QywTyJJrcSsB0CWTd3aRFlU","level":"info","message":"auth send jwt"} gateway-1 | {"time_local":"09/Jul/2024:08:56: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.140","http_referrer":"","http_user_agent":"node-fetch","requestID":"2183e31d573646ad69f583802677c688"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5882591240780b04d7c3ea94167183b1","responseTime":4,"status":200,"url":"/auth"} gateway-1 | {"time_local":"09/Jul/2024:08:56:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2709","request_time":"2.697","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"85af58cf8298f72df1db5df02bcdafd8"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:13Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.858456,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515373,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3M30.BQY5gMiMB09Zs6fY1fD4QywTyJJrcSsB0CWTd3aRFlU"} 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":"5882591240780b04d7c3ea94167183b1"},"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/7efbd943-2dac-44b4-a423-71d3f00d9735' 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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe57bb73-bb80-4298-bb84-17f8edbec39d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f36d3cbb-eb6c-43e6-8e91-48941a6e881b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515373.1172462} 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":"5882591240780b04d7c3ea94167183b1"},"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/0307350f-114f-4403-be37-1aa335d7c787' 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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"09a6e068-36c6-4345-b871-2ec2471963b4","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515373.122053} 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":"5882591240780b04d7c3ea94167183b1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe57bb73-bb80-4298-bb84-17f8edbec39d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"96505c56-04d6-48c2-87bd-4c407b617fbb","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515373.1311164} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"837113a2-f874-43c9-af6a-659082a3dfae","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515373.1313214} 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":"5882591240780b04d7c3ea94167183b1"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe57bb73-bb80-4298-bb84-17f8edbec39d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe57bb73-bb80-4298-bb84-17f8edbec39d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:13.131088263Z"}]},"request_id":"a86af5db-a358-4917-8122-2be1e5d86161","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515373.1353903} 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":"5882591240780b04d7c3ea94167183b1"},"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":"09/Jul/2024:08:56:13 +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":"5882591240780b04d7c3ea94167183b1"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"5882591240780b04d7c3ea94167183b1","responseTime":39,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3M30.BQY5gMiMB09Zs6fY1fD4QywTyJJrcSsB0CWTd3aRFlU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"163b8fcbf715d9e04a58f94b93e259ae","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:13Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.716805,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515373,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3M30.BQY5gMiMB09Zs6fY1fD4QywTyJJrcSsB0CWTd3aRFlU"} 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":"163b8fcbf715d9e04a58f94b93e259ae"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb182366e-9ef6-439f-a45c-df3dd8ec5203","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"05a7d41e-781c-4aea-8007-ff0fceebd1b7","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515373.1648324} 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":"163b8fcbf715d9e04a58f94b93e259ae"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7833769c-41eb-40b6-b65d-652625ebceb2","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515373.170087} 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":"163b8fcbf715d9e04a58f94b93e259ae"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb182366e-9ef6-439f-a45c-df3dd8ec5203","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"6d4af59a-6a08-4ed9-9078-95df52ef5c87","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515373.1810687} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9e94736f-cbe2-4fd0-919e-3aad3f372489","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515373.1813276} 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":"163b8fcbf715d9e04a58f94b93e259ae"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb182366e-9ef6-439f-a45c-df3dd8ec5203","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb182366e-9ef6-439f-a45c-df3dd8ec5203","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:13.181038843Z"}]},"request_id":"d4fb9f40-1703-4489-ab9d-a65133e99ef7","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515373.185375} 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":"163b8fcbf715d9e04a58f94b93e259ae"},"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":"09/Jul/2024:08:56:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"163b8fcbf715d9e04a58f94b93e259ae"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"163b8fcbf715d9e04a58f94b93e259ae","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3M30.BQY5gMiMB09Zs6fY1fD4QywTyJJrcSsB0CWTd3aRFlU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c773e16965bfb8fc72b69eb942f5de1c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:13Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.212472,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe57bb73-bb80-4298-bb84-17f8edbec39d","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/fe57bb73-bb80-4298-bb84-17f8edbec39d","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515373,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3M30.BQY5gMiMB09Zs6fY1fD4QywTyJJrcSsB0CWTd3aRFlU"} 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":"c773e16965bfb8fc72b69eb942f5de1c"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe57bb73-bb80-4298-bb84-17f8edbec39d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe57bb73-bb80-4298-bb84-17f8edbec39d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:13.131088263Z"}]},"request_id":"0cebf066-6c8b-4139-b9f3-72ffff499da1","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515373.6846461} 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":"c773e16965bfb8fc72b69eb942f5de1c"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a3fafc2f-1e93-4450-84e1-3a2641883009","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515373.6917315} 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":"c773e16965bfb8fc72b69eb942f5de1c"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe57bb73-bb80-4298-bb84-17f8edbec39d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe57bb73-bb80-4298-bb84-17f8edbec39d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:13.131088263Z"}]},"request_id":"d1e72f6b-adab-47bb-8ad2-a4ac022a8349","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515373.7068636} 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":"c773e16965bfb8fc72b69eb942f5de1c"},"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/fe57bb73-bb80-4298-bb84-17f8edbec39d 200 39ms","method":"PATCH","requestID":"c773e16965bfb8fc72b69eb942f5de1c","responseTime":39,"status":200,"url":"/devices/fe57bb73-bb80-4298-bb84-17f8edbec39d"} gateway-1 | {"time_local":"09/Jul/2024:08:56:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/fe57bb73-bb80-4298-bb84-17f8edbec39d 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":"c773e16965bfb8fc72b69eb942f5de1c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3M30.BQY5gMiMB09Zs6fY1fD4QywTyJJrcSsB0CWTd3aRFlU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0b22e5ad37931b3e2e764625ba5c1ba0","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:13Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.168228,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe57bb73-bb80-4298-bb84-17f8edbec39d","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/fe57bb73-bb80-4298-bb84-17f8edbec39d","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515373,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3M30.BQY5gMiMB09Zs6fY1fD4QywTyJJrcSsB0CWTd3aRFlU"} 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":"0b22e5ad37931b3e2e764625ba5c1ba0"},"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":"09/Jul/2024:08:56:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/fe57bb73-bb80-4298-bb84-17f8edbec39d/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":"0b22e5ad37931b3e2e764625ba5c1ba0"} device-1 | {"level":"info","message":"POST /devices/fe57bb73-bb80-4298-bb84-17f8edbec39d/websocket 200 23ms","method":"POST","requestID":"0b22e5ad37931b3e2e764625ba5c1ba0","responseTime":23,"status":200,"url":"/devices/fe57bb73-bb80-4298-bb84-17f8edbec39d/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/fe57bb73-bb80-4298-bb84-17f8edbec39d' 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":"ad6e9fd5b74184d8730e57556439fc3d","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"09/Jul/2024:08:56:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b182366e-9ef6-439f-a45c-df3dd8ec5203/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":"ad6e9fd5b74184d8730e57556439fc3d"} device-1 | {"level":"info","message":"OPTIONS /devices/b182366e-9ef6-439f-a45c-df3dd8ec5203/websocket 200 2ms","method":"OPTIONS","requestID":"ad6e9fd5b74184d8730e57556439fc3d","responseTime":2,"status":200,"url":"/devices/b182366e-9ef6-439f-a45c-df3dd8ec5203/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3NX0.vQtte3bxyX4aqqIKHcVVmRiuZLBImX63IuObW_lZWrw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d905360d1c61a478054461618da28784","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:15Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.155045,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:15Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b182366e-9ef6-439f-a45c-df3dd8ec5203","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/b182366e-9ef6-439f-a45c-df3dd8ec5203","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515375,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3NX0.vQtte3bxyX4aqqIKHcVVmRiuZLBImX63IuObW_lZWrw"} 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":"d905360d1c61a478054461618da28784"},"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":"09/Jul/2024:08:56:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b182366e-9ef6-439f-a45c-df3dd8ec5203/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":"d905360d1c61a478054461618da28784"} device-1 | {"level":"info","message":"POST /devices/b182366e-9ef6-439f-a45c-df3dd8ec5203/websocket 200 21ms","method":"POST","requestID":"d905360d1c61a478054461618da28784","responseTime":21,"status":200,"url":"/devices/b182366e-9ef6-439f-a45c-df3dd8ec5203/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b182366e-9ef6-439f-a45c-df3dd8ec5203' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3NX0.vQtte3bxyX4aqqIKHcVVmRiuZLBImX63IuObW_lZWrw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"86cd514571020712cca427034592c843","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:15Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.566211,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe57bb73-bb80-4298-bb84-17f8edbec39d","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/fe57bb73-bb80-4298-bb84-17f8edbec39d","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515375,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3NX0.vQtte3bxyX4aqqIKHcVVmRiuZLBImX63IuObW_lZWrw"} 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":"86cd514571020712cca427034592c843"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe57bb73-bb80-4298-bb84-17f8edbec39d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe57bb73-bb80-4298-bb84-17f8edbec39d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:13.131088263Z"}]},"request_id":"e55320ce-1ccb-48ff-8087-03d144eeb9f5","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515375.2654846} 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":"86cd514571020712cca427034592c843"},"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":"09/Jul/2024:08:56:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fe57bb73-bb80-4298-bb84-17f8edbec39d? 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":"86cd514571020712cca427034592c843"} device-1 | {"level":"info","message":"GET /devices/fe57bb73-bb80-4298-bb84-17f8edbec39d? 200 18ms","method":"GET","requestID":"86cd514571020712cca427034592c843","responseTime":18,"status":200,"url":"/devices/fe57bb73-bb80-4298-bb84-17f8edbec39d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3NX0.vQtte3bxyX4aqqIKHcVVmRiuZLBImX63IuObW_lZWrw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d876cafcaadc696c9f5420758b0f4030","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:15Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.200825,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b182366e-9ef6-439f-a45c-df3dd8ec5203","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/b182366e-9ef6-439f-a45c-df3dd8ec5203","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515375,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3NX0.vQtte3bxyX4aqqIKHcVVmRiuZLBImX63IuObW_lZWrw"} 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":"d876cafcaadc696c9f5420758b0f4030"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb182366e-9ef6-439f-a45c-df3dd8ec5203","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb182366e-9ef6-439f-a45c-df3dd8ec5203","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:13.181038843Z"}]},"request_id":"bcf56007-b005-4691-920d-b1168fe30f8d","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515375.288842} 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":"d876cafcaadc696c9f5420758b0f4030"},"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":"09/Jul/2024:08:56:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b182366e-9ef6-439f-a45c-df3dd8ec5203? 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":"d876cafcaadc696c9f5420758b0f4030"} device-1 | {"level":"info","message":"GET /devices/b182366e-9ef6-439f-a45c-df3dd8ec5203? 200 16ms","method":"GET","requestID":"d876cafcaadc696c9f5420758b0f4030","responseTime":16,"status":200,"url":"/devices/b182366e-9ef6-439f-a45c-df3dd8ec5203?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3NX0.vQtte3bxyX4aqqIKHcVVmRiuZLBImX63IuObW_lZWrw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"baa09097dd0b52128922382323abbacc","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:44070","level":"info","msg":"Received request.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:15Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.192528,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515375,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3NX0.vQtte3bxyX4aqqIKHcVVmRiuZLBImX63IuObW_lZWrw"} 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":"baa09097dd0b52128922382323abbacc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/93f2c7ac-fe30-4b0c-aa0b-8ebc754ea10e"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/93f2c7ac-fe30-4b0c-aa0b-8ebc754ea10e"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/93f2c7ac-fe30-4b0c-aa0b-8ebc754ea10e"},"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:44070","level":"info","msg":"Received request.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:15Z"} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Received request.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:15Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.78359,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe57bb73-bb80-4298-bb84-17f8edbec39d","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/fe57bb73-bb80-4298-bb84-17f8edbec39d","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515375,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3NX0.vQtte3bxyX4aqqIKHcVVmRiuZLBImX63IuObW_lZWrw"} 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":"1948df00-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Sent response.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.355469,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b182366e-9ef6-439f-a45c-df3dd8ec5203","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/b182366e-9ef6-439f-a45c-df3dd8ec5203","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515375,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3NX0.vQtte3bxyX4aqqIKHcVVmRiuZLBImX63IuObW_lZWrw"} 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":"19492d20-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe57bb73-bb80-4298-bb84-17f8edbec39d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe57bb73-bb80-4298-bb84-17f8edbec39d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:13.131088263Z"}]},"request_id":"213ad02b-e7f7-420a-848c-8a197d58ef92","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515375.3556113} 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":"1948df00-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb182366e-9ef6-439f-a45c-df3dd8ec5203","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb182366e-9ef6-439f-a45c-df3dd8ec5203","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:13.181038843Z"}]},"request_id":"3303d4db-3d1b-45b2-98b6-5381abeb336b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515375.3569007} 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":"19492d20-3dd1-11ef-ab4a-87fddd4f273f"},"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/fe57bb73-bb80-4298-bb84-17f8edbec39d? 200 19ms","method":"GET","requestID":"1948df00-3dd1-11ef-ab4a-87fddd4f273f","responseTime":19,"status":200,"url":"/devices/fe57bb73-bb80-4298-bb84-17f8edbec39d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/b182366e-9ef6-439f-a45c-df3dd8ec5203? 200 18ms","method":"GET","requestID":"19492d20-3dd1-11ef-ab4a-87fddd4f273f","responseTime":18,"status":200,"url":"/devices/b182366e-9ef6-439f-a45c-df3dd8ec5203?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/93f2c7ac-fe30-4b0c-aa0b-8ebc754ea10e"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/93f2c7ac-fe30-4b0c-aa0b-8ebc754ea10e"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/93f2c7ac-fe30-4b0c-aa0b-8ebc754ea10e"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/93f2c7ac-fe30-4b0c-aa0b-8ebc754ea10e"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/93f2c7ac-fe30-4b0c-aa0b-8ebc754ea10e"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/93f2c7ac-fe30-4b0c-aa0b-8ebc754ea10e"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/93f2c7ac-fe30-4b0c-aa0b-8ebc754ea10e"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/93f2c7ac-fe30-4b0c-aa0b-8ebc754ea10e"},"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/93f2c7ac-fe30-4b0c-aa0b-8ebc754ea10e"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:15Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.710618,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:15Z"} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Received request.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe57bb73-bb80-4298-bb84-17f8edbec39d","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/fe57bb73-bb80-4298-bb84-17f8edbec39d","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515375,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3NX0.vQtte3bxyX4aqqIKHcVVmRiuZLBImX63IuObW_lZWrw"} 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":"1953db80-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Sent response.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.129507,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b182366e-9ef6-439f-a45c-df3dd8ec5203","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/b182366e-9ef6-439f-a45c-df3dd8ec5203","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515375,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3NX0.vQtte3bxyX4aqqIKHcVVmRiuZLBImX63IuObW_lZWrw"} 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":"19540290-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:15Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe57bb73-bb80-4298-bb84-17f8edbec39d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5510d338-e453-4622-8469-e7db0cc171b7","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515375.424802} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.07353,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe57bb73-bb80-4298-bb84-17f8edbec39d","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fe57bb73-bb80-4298-bb84-17f8edbec39d","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"195429a0-3dd1-11ef-ab4a-87fddd4f273f"},"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/fe57bb73-bb80-4298-bb84-17f8edbec39d/signaling 200 11ms","method":"POST","requestID":"195429a0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/devices/fe57bb73-bb80-4298-bb84-17f8edbec39d/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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe57bb73-bb80-4298-bb84-17f8edbec39d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe57bb73-bb80-4298-bb84-17f8edbec39d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:13.131088263Z"}]},"request_id":"56ed4108-2fbe-4c2d-a7e5-b3496d1db4b7","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515375.4290955} 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":"1953db80-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb182366e-9ef6-439f-a45c-df3dd8ec5203","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb182366e-9ef6-439f-a45c-df3dd8ec5203","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:13.181038843Z"}]},"request_id":"85bb147e-130d-4943-823e-bf6092727b61","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515375.431645} 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":"19540290-3dd1-11ef-ab4a-87fddd4f273f"},"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 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:15Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/fe57bb73-bb80-4298-bb84-17f8edbec39d? 200 20ms","method":"GET","requestID":"1953db80-3dd1-11ef-ab4a-87fddd4f273f","responseTime":20,"status":200,"url":"/devices/fe57bb73-bb80-4298-bb84-17f8edbec39d?"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb182366e-9ef6-439f-a45c-df3dd8ec5203","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a0cf708d-96d8-47d6-bb3b-13468ef91891","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515375.4363098} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.969738,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:15Z"} device-1 | {"level":"info","message":"GET /devices/b182366e-9ef6-439f-a45c-df3dd8ec5203? 200 21ms","method":"GET","requestID":"19540290-3dd1-11ef-ab4a-87fddd4f273f","responseTime":21,"status":200,"url":"/devices/b182366e-9ef6-439f-a45c-df3dd8ec5203?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b182366e-9ef6-439f-a45c-df3dd8ec5203","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b182366e-9ef6-439f-a45c-df3dd8ec5203","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"19564c80-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F93f2c7ac-fe30-4b0c-aa0b-8ebc754ea10e#owner@http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F93f2c7ac-fe30-4b0c-aa0b-8ebc754ea10e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"06fedc71-de9a-4a09-bc01-3ed72c77366d","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515375.4411542} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4fa25ffe-5d1c-4f38-8993-710910fb0641","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515375.441436} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b182366e-9ef6-439f-a45c-df3dd8ec5203/signaling 200 11ms","method":"POST","requestID":"19564c80-3dd1-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/devices/b182366e-9ef6-439f-a45c-df3dd8ec5203/signaling"} 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":"baa09097dd0b52128922382323abbacc"},"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:44070","level":"info","msg":"Received request.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:15Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe57bb73-bb80-4298-bb84-17f8edbec39d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"266d8efb-ba09-4b9d-ac66-02dee0cd3e23","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515375.4455066} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.725767,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe57bb73-bb80-4298-bb84-17f8edbec39d","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fe57bb73-bb80-4298-bb84-17f8edbec39d","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"19578500-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/93f2c7ac-fe30-4b0c-aa0b-8ebc754ea10e","user":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/fe57bb73-bb80-4298-bb84-17f8edbec39d/signaling 200 10ms","method":"POST","requestID":"19578500-3dd1-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/devices/fe57bb73-bb80-4298-bb84-17f8edbec39d/signaling"} experiment-1 | {"level":"info","message":"POST /experiments? 201 148ms","method":"POST","requestID":"baa09097dd0b52128922382323abbacc","responseTime":148,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"09/Jul/2024:08:56:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.154","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"baa09097dd0b52128922382323abbacc"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3NX0.vQtte3bxyX4aqqIKHcVVmRiuZLBImX63IuObW_lZWrw","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:15Z"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"dede4bf3358cd0fafc3e88121ca86cb9","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb182366e-9ef6-439f-a45c-df3dd8ec5203","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b00db89a-4405-4ef4-bbde-f059997a56a1","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515375.4574442} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.678103,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b182366e-9ef6-439f-a45c-df3dd8ec5203","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b182366e-9ef6-439f-a45c-df3dd8ec5203","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"195980d0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Received request.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:15Z"} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Sent response.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.910654,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe57bb73-bb80-4298-bb84-17f8edbec39d","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/fe57bb73-bb80-4298-bb84-17f8edbec39d","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515375,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3NX0.vQtte3bxyX4aqqIKHcVVmRiuZLBImX63IuObW_lZWrw"} 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":"dede4bf3358cd0fafc3e88121ca86cb9"},"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/b182366e-9ef6-439f-a45c-df3dd8ec5203/signaling 200 9ms","method":"POST","requestID":"195980d0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":9,"status":200,"url":"/devices/b182366e-9ef6-439f-a45c-df3dd8ec5203/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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe57bb73-bb80-4298-bb84-17f8edbec39d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe57bb73-bb80-4298-bb84-17f8edbec39d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:13.131088263Z"}]},"request_id":"8dfc0eba-3f4f-4d0e-a98f-a0d3804c7fec","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515375.462961} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/93f2c7ac-fe30-4b0c-aa0b-8ebc754ea10e"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/93f2c7ac-fe30-4b0c-aa0b-8ebc754ea10e"},"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":"b46b267a-712d-481c-beaa-84640a7e9717"},{"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":"bb62447d-b962-4150-a57c-aad2d0299ec1"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"0621a193-53b2-474d-9d05-b6ce2d81b5b8"}]},"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/fe57bb73-bb80-4298-bb84-17f8edbec39d"},{"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/b182366e-9ef6-439f-a45c-df3dd8ec5203"}],"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":"dede4bf3358cd0fafc3e88121ca86cb9"},"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"} gateway-1 | {"time_local":"09/Jul/2024:08:56:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fe57bb73-bb80-4298-bb84-17f8edbec39d? 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":"dede4bf3358cd0fafc3e88121ca86cb9"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:15Z"} device-1 | {"level":"info","message":"GET /devices/fe57bb73-bb80-4298-bb84-17f8edbec39d? 200 11ms","method":"GET","requestID":"dede4bf3358cd0fafc3e88121ca86cb9","responseTime":11,"status":200,"url":"/devices/fe57bb73-bb80-4298-bb84-17f8edbec39d?"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.878924,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515375,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3NX0.vQtte3bxyX4aqqIKHcVVmRiuZLBImX63IuObW_lZWrw"} 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":"195b5590-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3NX0.vQtte3bxyX4aqqIKHcVVmRiuZLBImX63IuObW_lZWrw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0c82956533d14ca2bd91c6eae283ad62","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:15Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.658065,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b182366e-9ef6-439f-a45c-df3dd8ec5203","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/b182366e-9ef6-439f-a45c-df3dd8ec5203","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515375,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3NX0.vQtte3bxyX4aqqIKHcVVmRiuZLBImX63IuObW_lZWrw"} 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":"0c82956533d14ca2bd91c6eae283ad62"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","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%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"011dad05-3f41-426d-a9ca-3b29d2b1c4f7","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515375.4769878} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"28b5023a-c466-4110-ab96-ebe428749e1d","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515375.477259} 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":"195b5590-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb182366e-9ef6-439f-a45c-df3dd8ec5203","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb182366e-9ef6-439f-a45c-df3dd8ec5203","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:13.181038843Z"}]},"request_id":"3e098815-0e85-42c3-95e0-b4f5cfcd5779","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515375.4809923} 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":"0c82956533d14ca2bd91c6eae283ad62"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} 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/9e383c0d-67d7-49c6-9dfe-b8c231bf1540'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/9e383c0d-67d7-49c6-9dfe-b8c231bf1540'"} 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 27ms","method":"POST","requestID":"195b5590-3dd1-11ef-ab4a-87fddd4f273f","responseTime":27,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"09/Jul/2024:08:56:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b182366e-9ef6-439f-a45c-df3dd8ec5203? 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":"0c82956533d14ca2bd91c6eae283ad62"} device-1 | {"level":"info","message":"GET /devices/b182366e-9ef6-439f-a45c-df3dd8ec5203? 200 20ms","method":"GET","requestID":"0c82956533d14ca2bd91c6eae283ad62","responseTime":20,"status":200,"url":"/devices/b182366e-9ef6-439f-a45c-df3dd8ec5203?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/93f2c7ac-fe30-4b0c-aa0b-8ebc754ea10e"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:15Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe57bb73-bb80-4298-bb84-17f8edbec39d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"26f958c9-79f6-4f27-84f0-4534b24f6d94","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515375.523865} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.617439,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe57bb73-bb80-4298-bb84-17f8edbec39d","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fe57bb73-bb80-4298-bb84-17f8edbec39d","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"196392f0-3dd1-11ef-ab4a-87fddd4f273f"},"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/fe57bb73-bb80-4298-bb84-17f8edbec39d/signaling 200 8ms","method":"POST","requestID":"196392f0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":8,"status":200,"url":"/devices/fe57bb73-bb80-4298-bb84-17f8edbec39d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:15Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb182366e-9ef6-439f-a45c-df3dd8ec5203","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e2e99f40-a0b2-4506-b680-8d10ab306a3a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515375.533514} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.55756,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b182366e-9ef6-439f-a45c-df3dd8ec5203","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b182366e-9ef6-439f-a45c-df3dd8ec5203","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"19651990-3dd1-11ef-ab4a-87fddd4f273f"},"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/b182366e-9ef6-439f-a45c-df3dd8ec5203/signaling 200 8ms","method":"POST","requestID":"19651990-3dd1-11ef-ab4a-87fddd4f273f","responseTime":8,"status":200,"url":"/devices/b182366e-9ef6-439f-a45c-df3dd8ec5203/signaling"} device-1 | {"data":{"peerconnection":"9e383c0d-67d7-49c6-9dfe-b8c231bf1540","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/9e383c0d-67d7-49c6-9dfe-b8c231bf1540' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9e383c0d-67d7-49c6-9dfe-b8c231bf1540","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":"aafb58e5ca124b23f2902b4093c2a96b","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/fe57bb73-bb80-4298-bb84-17f8edbec39d"},{"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/b182366e-9ef6-439f-a45c-df3dd8ec5203"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/9e383c0d-67d7-49c6-9dfe-b8c231bf1540"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"aafb58e5ca124b23f2902b4093c2a96b","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:56: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.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"aafb58e5ca124b23f2902b4093c2a96b"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/b182366e-9ef6-439f-a45c-df3dd8ec5203'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/b182366e-9ef6-439f-a45c-df3dd8ec5203'"} device-1 | {"data":{"peerconnection":"9e383c0d-67d7-49c6-9dfe-b8c231bf1540","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"9e383c0d-67d7-49c6-9dfe-b8c231bf1540","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/9e383c0d-67d7-49c6-9dfe-b8c231bf1540' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9e383c0d-67d7-49c6-9dfe-b8c231bf1540","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":"e5e78e1852f7e837ed25936d9855c7d0","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/fe57bb73-bb80-4298-bb84-17f8edbec39d"},{"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/b182366e-9ef6-439f-a45c-df3dd8ec5203"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/9e383c0d-67d7-49c6-9dfe-b8c231bf1540"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:17Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9e383c0d-67d7-49c6-9dfe-b8c231bf1540","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"99e13e50-f065-43ad-a030-d8d1a2ab6f94","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515377.6464686} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.548739,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9e383c0d-67d7-49c6-9dfe-b8c231bf1540","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/9e383c0d-67d7-49c6-9dfe-b8c231bf1540","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":"1aa73680-3dd1-11ef-ab4a-87fddd4f273f"},"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/9e383c0d-67d7-49c6-9dfe-b8c231bf1540 200 11ms","method":"GET","requestID":"1aa73680-3dd1-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/peerconnections/9e383c0d-67d7-49c6-9dfe-b8c231bf1540"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 34ms","method":"POST","requestID":"e5e78e1852f7e837ed25936d9855c7d0","responseTime":34,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:56: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.039","http_referrer":"","http_user_agent":"node-fetch","requestID":"e5e78e1852f7e837ed25936d9855c7d0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:17Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe57bb73-bb80-4298-bb84-17f8edbec39d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5a40bbae-3de3-42d6-b742-0fa8ffd08bdc","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515377.6756294} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.226808,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe57bb73-bb80-4298-bb84-17f8edbec39d","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fe57bb73-bb80-4298-bb84-17f8edbec39d","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"1aabca60-3dd1-11ef-ab4a-87fddd4f273f"},"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/fe57bb73-bb80-4298-bb84-17f8edbec39d/signaling 200 12ms","method":"POST","requestID":"1aabca60-3dd1-11ef-ab4a-87fddd4f273f","responseTime":12,"status":200,"url":"/devices/fe57bb73-bb80-4298-bb84-17f8edbec39d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:17Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb182366e-9ef6-439f-a45c-df3dd8ec5203","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"66852cd2-d6e5-4e39-ad7b-2b86a0d201ab","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515377.690393} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.317743,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b182366e-9ef6-439f-a45c-df3dd8ec5203","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b182366e-9ef6-439f-a45c-df3dd8ec5203","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"1aaded40-3dd1-11ef-ab4a-87fddd4f273f"},"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/b182366e-9ef6-439f-a45c-df3dd8ec5203/signaling 200 12ms","method":"POST","requestID":"1aaded40-3dd1-11ef-ab4a-87fddd4f273f","responseTime":12,"status":200,"url":"/devices/b182366e-9ef6-439f-a45c-df3dd8ec5203/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3N30.MQElaLoaXTv4-vKhIfQJ1gRUGUptdU2_f_rmwuUoS0Y","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7685b0a43535b33094872e89017118c4","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/93f2c7ac-fe30-4b0c-aa0b-8ebc754ea10e"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:17Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.127225,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/93f2c7ac-fe30-4b0c-aa0b-8ebc754ea10e","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/93f2c7ac-fe30-4b0c-aa0b-8ebc754ea10e","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515377,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3N30.MQElaLoaXTv4-vKhIfQJ1gRUGUptdU2_f_rmwuUoS0Y"} 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":"7685b0a43535b33094872e89017118c4"},"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/93f2c7ac-fe30-4b0c-aa0b-8ebc754ea10e"} experiment-1 | {"level":"info","message":"GET /experiments/93f2c7ac-fe30-4b0c-aa0b-8ebc754ea10e 200 15ms","method":"GET","requestID":"7685b0a43535b33094872e89017118c4","responseTime":15,"status":200,"url":"/experiments/93f2c7ac-fe30-4b0c-aa0b-8ebc754ea10e"} gateway-1 | {"time_local":"09/Jul/2024:08:56:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/93f2c7ac-fe30-4b0c-aa0b-8ebc754ea10e HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7685b0a43535b33094872e89017118c4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3N30.MQElaLoaXTv4-vKhIfQJ1gRUGUptdU2_f_rmwuUoS0Y","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8c77fed42cbe5ba1463dd2a82cc325f0","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/93f2c7ac-fe30-4b0c-aa0b-8ebc754ea10e"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:17Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.280089,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:17Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/93f2c7ac-fe30-4b0c-aa0b-8ebc754ea10e","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/93f2c7ac-fe30-4b0c-aa0b-8ebc754ea10e","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515377,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3N30.MQElaLoaXTv4-vKhIfQJ1gRUGUptdU2_f_rmwuUoS0Y"} 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":"8c77fed42cbe5ba1463dd2a82cc325f0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/93f2c7ac-fe30-4b0c-aa0b-8ebc754ea10e"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:17Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.364828,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:17Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9e383c0d-67d7-49c6-9dfe-b8c231bf1540","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:http://localhost/peerconnections/9e383c0d-67d7-49c6-9dfe-b8c231bf1540","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515377,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3N30.MQElaLoaXTv4-vKhIfQJ1gRUGUptdU2_f_rmwuUoS0Y"} 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":"1abba8e0-3dd1-11ef-ab4a-87fddd4f273f"},"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/9e383c0d-67d7-49c6-9dfe-b8c231bf1540' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/9e383c0d-67d7-49c6-9dfe-b8c231bf1540' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9e383c0d-67d7-49c6-9dfe-b8c231bf1540","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":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9e383c0d-67d7-49c6-9dfe-b8c231bf1540': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9e383c0d-67d7-49c6-9dfe-b8c231bf1540","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"512e60f6-617b-4957-b22e-0fb27b353389","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515377.8022478} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d140baa2310f6c53677829ef35f3595c","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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6b560afd-0a19-4a59-a143-dd0c12cc9610","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515377.8032193} 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/fe57bb73-bb80-4298-bb84-17f8edbec39d"},{"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/b182366e-9ef6-439f-a45c-df3dd8ec5203"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9e383c0d-67d7-49c6-9dfe-b8c231bf1540"}}},"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":"f4b3ea19f2a6ece1f9970ab69def136a","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":"1abba8e0-3dd1-11ef-ab4a-87fddd4f273f"},"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","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/fe57bb73-bb80-4298-bb84-17f8edbec39d"},{"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/b182366e-9ef6-439f-a45c-df3dd8ec5203"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9e383c0d-67d7-49c6-9dfe-b8c231bf1540"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"9e383c0d-67d7-49c6-9dfe-b8c231bf1540","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/9e383c0d-67d7-49c6-9dfe-b8c231bf1540 204 53ms","method":"DELETE","requestID":"1abba8e0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":53,"status":204,"url":"/peerconnections/9e383c0d-67d7-49c6-9dfe-b8c231bf1540"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/93f2c7ac-fe30-4b0c-aa0b-8ebc754ea10e"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:17Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe57bb73-bb80-4298-bb84-17f8edbec39d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"26618b8c-5a70-419f-abcf-adaed1757348","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515377.8554008} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.894612,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe57bb73-bb80-4298-bb84-17f8edbec39d","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fe57bb73-bb80-4298-bb84-17f8edbec39d","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"1ac741a0-3dd1-11ef-ab4a-87fddd4f273f"},"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/fe57bb73-bb80-4298-bb84-17f8edbec39d/signaling 200 14ms","method":"POST","requestID":"1ac741a0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":14,"status":200,"url":"/devices/fe57bb73-bb80-4298-bb84-17f8edbec39d/signaling"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F93f2c7ac-fe30-4b0c-aa0b-8ebc754ea10e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F93f2c7ac-fe30-4b0c-aa0b-8ebc754ea10e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"eeea549e-20dd-44c1-a189-f1e916fa0cdc","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515377.8646474} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f064c958-1fc3-4471-beb2-bb55de8b50b1","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515377.8652232} 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":"8c77fed42cbe5ba1463dd2a82cc325f0"},"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:44070","level":"info","msg":"Received request.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:17Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb182366e-9ef6-439f-a45c-df3dd8ec5203","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8b8faf64-3ea0-468b-b15d-f8cca0482a97","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515377.8754368} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.347568,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b182366e-9ef6-439f-a45c-df3dd8ec5203","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b182366e-9ef6-439f-a45c-df3dd8ec5203","object_type":"device","rebac_allow":false,"scope_allow":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":"1ac9d9b0-3dd1-11ef-ab4a-87fddd4f273f"},"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/b182366e-9ef6-439f-a45c-df3dd8ec5203/signaling 200 15ms","method":"POST","requestID":"1ac9d9b0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":15,"status":200,"url":"/devices/b182366e-9ef6-439f-a45c-df3dd8ec5203/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/93f2c7ac-fe30-4b0c-aa0b-8ebc754ea10e"} gateway-1 | {"time_local":"09/Jul/2024:08:56:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/93f2c7ac-fe30-4b0c-aa0b-8ebc754ea10e HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.176","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8c77fed42cbe5ba1463dd2a82cc325f0"} experiment-1 | {"level":"info","message":"DELETE /experiments/93f2c7ac-fe30-4b0c-aa0b-8ebc754ea10e 204 171ms","method":"DELETE","requestID":"8c77fed42cbe5ba1463dd2a82cc325f0","responseTime":171,"status":204,"url":"/experiments/93f2c7ac-fe30-4b0c-aa0b-8ebc754ea10e"} gateway-1 | {"time_local":"09/Jul/2024:08:56:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3194","request_time":"4.187","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"4fac995f8ffbb5cb058b08b607ce3634"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 129ms","method":"POST","requestID":"d140baa2310f6c53677829ef35f3595c","responseTime":129,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:56: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.133","http_referrer":"","http_user_agent":"node-fetch","requestID":"d140baa2310f6c53677829ef35f3595c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 127ms","method":"POST","requestID":"f4b3ea19f2a6ece1f9970ab69def136a","responseTime":127,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:56: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.134","http_referrer":"","http_user_agent":"node-fetch","requestID":"f4b3ea19f2a6ece1f9970ab69def136a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3N30.MQElaLoaXTv4-vKhIfQJ1gRUGUptdU2_f_rmwuUoS0Y","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8915105cd3fb8032762bfb0dc118ca7c","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"09/Jul/2024:08:56:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2702","request_time":"2.711","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3aefb95cfe8789a6ad12e99685080017"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:17Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.086654,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515377,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3N30.MQElaLoaXTv4-vKhIfQJ1gRUGUptdU2_f_rmwuUoS0Y"} 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":"8915105cd3fb8032762bfb0dc118ca7c"},"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/fe57bb73-bb80-4298-bb84-17f8edbec39d' 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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdea5134d-8cee-430f-9737-65716d82d144","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"38fe76ea-89b1-4c9f-8412-0e34aba7541d","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515377.9610693} 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":"8915105cd3fb8032762bfb0dc118ca7c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b182366e-9ef6-439f-a45c-df3dd8ec5203' 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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"af0981b6-30a1-48aa-859f-9e79a55aca20","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515377.9674857} 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":"8915105cd3fb8032762bfb0dc118ca7c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdea5134d-8cee-430f-9737-65716d82d144","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"d55c9766-2369-4aa4-8f0c-01acbdf6302c","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515377.9779127} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"563ff073-b4f1-4596-a685-3ca590f23dd6","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515377.9780765} 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":"8915105cd3fb8032762bfb0dc118ca7c"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdea5134d-8cee-430f-9737-65716d82d144","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdea5134d-8cee-430f-9737-65716d82d144","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:17.977872822Z"}]},"request_id":"e28ba6da-ffb1-43c2-8fb1-30f8b1536af8","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515377.9830809} 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":"8915105cd3fb8032762bfb0dc118ca7c"},"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":"09/Jul/2024:08:56: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.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8915105cd3fb8032762bfb0dc118ca7c"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"8915105cd3fb8032762bfb0dc118ca7c","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3N30.MQElaLoaXTv4-vKhIfQJ1gRUGUptdU2_f_rmwuUoS0Y","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"903bba45091e8415e76ad3795c2985c0","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:17Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.010929,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515377,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3N30.MQElaLoaXTv4-vKhIfQJ1gRUGUptdU2_f_rmwuUoS0Y"} 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":"903bba45091e8415e76ad3795c2985c0"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86cff7ef-33d3-47b5-9ed6-51490fda433e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"71898267-14b0-442f-9fba-1e885b1ae3cf","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515378.0133817} 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":"903bba45091e8415e76ad3795c2985c0"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0ddfb3d0-2472-4255-82e4-0849ca5923ce","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515378.017854} 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":"903bba45091e8415e76ad3795c2985c0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86cff7ef-33d3-47b5-9ed6-51490fda433e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"75b580fb-1ed9-42ac-8403-2e33b323dc39","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515378.0282896} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d602b9d9-d811-47f8-a383-3761cf0645c6","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515378.028374} 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":"903bba45091e8415e76ad3795c2985c0"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86cff7ef-33d3-47b5-9ed6-51490fda433e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86cff7ef-33d3-47b5-9ed6-51490fda433e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:18.028257444Z"}]},"request_id":"e97982ed-2993-4eb9-a316-fc6c4d37a156","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515378.032688} 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":"903bba45091e8415e76ad3795c2985c0"},"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":"09/Jul/2024:08:56:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"903bba45091e8415e76ad3795c2985c0"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"903bba45091e8415e76ad3795c2985c0","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3OH0.2TstG8qKc4-uwOupsfai6EcoNjO-qykpansAUgH5_qE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"80155c209e934789c14158aa9c060e60","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:18Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.115834,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:18Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/dea5134d-8cee-430f-9737-65716d82d144","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/dea5134d-8cee-430f-9737-65716d82d144","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515378,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3OH0.2TstG8qKc4-uwOupsfai6EcoNjO-qykpansAUgH5_qE"} 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":"80155c209e934789c14158aa9c060e60"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdea5134d-8cee-430f-9737-65716d82d144","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdea5134d-8cee-430f-9737-65716d82d144","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:17.977872822Z"}]},"request_id":"08779580-3644-4f97-b6fb-ffbbcbbb6499","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515378.5218704} 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":"80155c209e934789c14158aa9c060e60"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2ae5c173-4f5d-4864-8e1d-cd4a735c1a72","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515378.5259185} 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":"80155c209e934789c14158aa9c060e60"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdea5134d-8cee-430f-9737-65716d82d144","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdea5134d-8cee-430f-9737-65716d82d144","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:17.977872822Z"}]},"request_id":"81f264f5-43d9-4874-9a3b-a1bfb614b00c","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515378.538944} 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":"80155c209e934789c14158aa9c060e60"},"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":"09/Jul/2024:08:56:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/dea5134d-8cee-430f-9737-65716d82d144 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.037","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"80155c209e934789c14158aa9c060e60"} device-1 | {"level":"info","message":"PATCH /devices/dea5134d-8cee-430f-9737-65716d82d144 200 32ms","method":"PATCH","requestID":"80155c209e934789c14158aa9c060e60","responseTime":32,"status":200,"url":"/devices/dea5134d-8cee-430f-9737-65716d82d144"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3OH0.2TstG8qKc4-uwOupsfai6EcoNjO-qykpansAUgH5_qE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"16386170b35dd78eea6eab7084a9d267","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:18Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.764067,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:18Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/dea5134d-8cee-430f-9737-65716d82d144","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/dea5134d-8cee-430f-9737-65716d82d144","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515378,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM3OH0.2TstG8qKc4-uwOupsfai6EcoNjO-qykpansAUgH5_qE"} 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":"16386170b35dd78eea6eab7084a9d267"},"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/dea5134d-8cee-430f-9737-65716d82d144/websocket 200 18ms","method":"POST","requestID":"16386170b35dd78eea6eab7084a9d267","responseTime":18,"status":200,"url":"/devices/dea5134d-8cee-430f-9737-65716d82d144/websocket"} gateway-1 | {"time_local":"09/Jul/2024:08:56:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/dea5134d-8cee-430f-9737-65716d82d144/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":"16386170b35dd78eea6eab7084a9d267"} device-1 | {"level":"info","message":"device 'http://localhost/devices/dea5134d-8cee-430f-9737-65716d82d144' 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":"6e8a14bf3aed54bb34d532c00f705125","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"09/Jul/2024:08:56:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/86cff7ef-33d3-47b5-9ed6-51490fda433e/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":"6e8a14bf3aed54bb34d532c00f705125"} device-1 | {"level":"info","message":"OPTIONS /devices/86cff7ef-33d3-47b5-9ed6-51490fda433e/websocket 200 1ms","method":"OPTIONS","requestID":"6e8a14bf3aed54bb34d532c00f705125","responseTime":1,"status":200,"url":"/devices/86cff7ef-33d3-47b5-9ed6-51490fda433e/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4MH0.qUgFwHVD_5JDNBaqopH1TcLhSt200q9cfYqwooZQGk4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"34227721df7281ba2428e1e00fb97b75","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:20Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.17433,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:20Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/86cff7ef-33d3-47b5-9ed6-51490fda433e","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/86cff7ef-33d3-47b5-9ed6-51490fda433e","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515380,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4MH0.qUgFwHVD_5JDNBaqopH1TcLhSt200q9cfYqwooZQGk4"} 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":"34227721df7281ba2428e1e00fb97b75"},"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":"09/Jul/2024:08:56:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/86cff7ef-33d3-47b5-9ed6-51490fda433e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.025","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"34227721df7281ba2428e1e00fb97b75"} device-1 | {"level":"info","message":"POST /devices/86cff7ef-33d3-47b5-9ed6-51490fda433e/websocket 200 18ms","method":"POST","requestID":"34227721df7281ba2428e1e00fb97b75","responseTime":18,"status":200,"url":"/devices/86cff7ef-33d3-47b5-9ed6-51490fda433e/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/86cff7ef-33d3-47b5-9ed6-51490fda433e' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4MH0.qUgFwHVD_5JDNBaqopH1TcLhSt200q9cfYqwooZQGk4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"76fb3763da80ed07b39c1887a8a32f0d","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:20Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.173552,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dea5134d-8cee-430f-9737-65716d82d144","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/dea5134d-8cee-430f-9737-65716d82d144","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515380,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4MH0.qUgFwHVD_5JDNBaqopH1TcLhSt200q9cfYqwooZQGk4"} 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":"76fb3763da80ed07b39c1887a8a32f0d"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdea5134d-8cee-430f-9737-65716d82d144","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdea5134d-8cee-430f-9737-65716d82d144","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:17.977872822Z"}]},"request_id":"821e7bb1-6d4a-4619-93b5-91453401f31e","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515380.115628} 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":"76fb3763da80ed07b39c1887a8a32f0d"},"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":"09/Jul/2024:08:56:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dea5134d-8cee-430f-9737-65716d82d144? 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":"76fb3763da80ed07b39c1887a8a32f0d"} device-1 | {"level":"info","message":"GET /devices/dea5134d-8cee-430f-9737-65716d82d144? 200 16ms","method":"GET","requestID":"76fb3763da80ed07b39c1887a8a32f0d","responseTime":16,"status":200,"url":"/devices/dea5134d-8cee-430f-9737-65716d82d144?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4MH0.qUgFwHVD_5JDNBaqopH1TcLhSt200q9cfYqwooZQGk4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4099cc308c4c652403e57675f205649c","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:20Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.192429,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/86cff7ef-33d3-47b5-9ed6-51490fda433e","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/86cff7ef-33d3-47b5-9ed6-51490fda433e","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515380,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4MH0.qUgFwHVD_5JDNBaqopH1TcLhSt200q9cfYqwooZQGk4"} 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":"4099cc308c4c652403e57675f205649c"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86cff7ef-33d3-47b5-9ed6-51490fda433e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86cff7ef-33d3-47b5-9ed6-51490fda433e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:18.028257444Z"}]},"request_id":"f2abac57-0acd-44a2-b263-6760266b84ab","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515380.1407845} 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":"4099cc308c4c652403e57675f205649c"},"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/86cff7ef-33d3-47b5-9ed6-51490fda433e? 200 17ms","method":"GET","requestID":"4099cc308c4c652403e57675f205649c","responseTime":17,"status":200,"url":"/devices/86cff7ef-33d3-47b5-9ed6-51490fda433e?"} gateway-1 | {"time_local":"09/Jul/2024:08:56:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/86cff7ef-33d3-47b5-9ed6-51490fda433e? 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":"4099cc308c4c652403e57675f205649c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4MH0.qUgFwHVD_5JDNBaqopH1TcLhSt200q9cfYqwooZQGk4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"496368ff5f1d4655234acc9a00cb4d79","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:44070","level":"info","msg":"Received request.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:20Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.234152,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515380,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4MH0.qUgFwHVD_5JDNBaqopH1TcLhSt200q9cfYqwooZQGk4"} 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":"496368ff5f1d4655234acc9a00cb4d79"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16e4929f-8700-47c9-9d9b-e8b832df5073"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16e4929f-8700-47c9-9d9b-e8b832df5073"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16e4929f-8700-47c9-9d9b-e8b832df5073"},"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:44070","level":"info","msg":"Received request.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:20Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.160521,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dea5134d-8cee-430f-9737-65716d82d144","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/dea5134d-8cee-430f-9737-65716d82d144","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515380,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4MH0.qUgFwHVD_5JDNBaqopH1TcLhSt200q9cfYqwooZQGk4"} 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":"1c2cec20-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Received request.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:20Z"} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Sent response.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.096816,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/86cff7ef-33d3-47b5-9ed6-51490fda433e","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/86cff7ef-33d3-47b5-9ed6-51490fda433e","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515380,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4MH0.qUgFwHVD_5JDNBaqopH1TcLhSt200q9cfYqwooZQGk4"} 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":"1c2d3a40-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdea5134d-8cee-430f-9737-65716d82d144","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdea5134d-8cee-430f-9737-65716d82d144","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:17.977872822Z"}]},"request_id":"084941a7-1c16-4c27-8832-b54efa789a12","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515380.210515} 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":"1c2cec20-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86cff7ef-33d3-47b5-9ed6-51490fda433e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86cff7ef-33d3-47b5-9ed6-51490fda433e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:18.028257444Z"}]},"request_id":"96725a15-3c23-4d57-b34f-86459bacddfe","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515380.2119205} 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":"1c2d3a40-3dd1-11ef-ab4a-87fddd4f273f"},"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/dea5134d-8cee-430f-9737-65716d82d144? 200 25ms","method":"GET","requestID":"1c2cec20-3dd1-11ef-ab4a-87fddd4f273f","responseTime":25,"status":200,"url":"/devices/dea5134d-8cee-430f-9737-65716d82d144?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/86cff7ef-33d3-47b5-9ed6-51490fda433e? 200 24ms","method":"GET","requestID":"1c2d3a40-3dd1-11ef-ab4a-87fddd4f273f","responseTime":24,"status":200,"url":"/devices/86cff7ef-33d3-47b5-9ed6-51490fda433e?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16e4929f-8700-47c9-9d9b-e8b832df5073"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16e4929f-8700-47c9-9d9b-e8b832df5073"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16e4929f-8700-47c9-9d9b-e8b832df5073"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16e4929f-8700-47c9-9d9b-e8b832df5073"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16e4929f-8700-47c9-9d9b-e8b832df5073"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16e4929f-8700-47c9-9d9b-e8b832df5073"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16e4929f-8700-47c9-9d9b-e8b832df5073"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16e4929f-8700-47c9-9d9b-e8b832df5073"},"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:44070","level":"info","msg":"Received request.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:20Z"} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Received request.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:20Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16e4929f-8700-47c9-9d9b-e8b832df5073"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.623612,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dea5134d-8cee-430f-9737-65716d82d144","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/dea5134d-8cee-430f-9737-65716d82d144","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515380,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4MH0.qUgFwHVD_5JDNBaqopH1TcLhSt200q9cfYqwooZQGk4"} 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":"1c3884e0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Sent response.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.944732,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/86cff7ef-33d3-47b5-9ed6-51490fda433e","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/86cff7ef-33d3-47b5-9ed6-51490fda433e","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515380,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4MH0.qUgFwHVD_5JDNBaqopH1TcLhSt200q9cfYqwooZQGk4"} 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":"1c38abf0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:20Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdea5134d-8cee-430f-9737-65716d82d144","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2cf3758a-ecf1-4589-819e-3da10f09911a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515380.2804089} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.643772,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:20Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdea5134d-8cee-430f-9737-65716d82d144","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdea5134d-8cee-430f-9737-65716d82d144","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:17.977872822Z"}]},"request_id":"19b4d571-51c3-4280-b021-8af22a7acdf7","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515380.2821655} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dea5134d-8cee-430f-9737-65716d82d144","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dea5134d-8cee-430f-9737-65716d82d144","object_type":"device","rebac_allow":false,"scope_allow":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":"1c38fa10-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} 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":"1c3884e0-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86cff7ef-33d3-47b5-9ed6-51490fda433e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86cff7ef-33d3-47b5-9ed6-51490fda433e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:18.028257444Z"}]},"request_id":"ba3a36bf-00a3-4da7-82ae-d7e8cdc6cc00","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515380.2830474} 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":"1c38abf0-3dd1-11ef-ab4a-87fddd4f273f"},"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/dea5134d-8cee-430f-9737-65716d82d144? 200 20ms","method":"GET","requestID":"1c3884e0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":20,"status":200,"url":"/devices/dea5134d-8cee-430f-9737-65716d82d144?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/dea5134d-8cee-430f-9737-65716d82d144/signaling 200 18ms","method":"POST","requestID":"1c38fa10-3dd1-11ef-ab4a-87fddd4f273f","responseTime":18,"status":200,"url":"/devices/dea5134d-8cee-430f-9737-65716d82d144/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/86cff7ef-33d3-47b5-9ed6-51490fda433e? 200 21ms","method":"GET","requestID":"1c38abf0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":21,"status":200,"url":"/devices/86cff7ef-33d3-47b5-9ed6-51490fda433e?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F16e4929f-8700-47c9-9d9b-e8b832df5073#owner@http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F16e4929f-8700-47c9-9d9b-e8b832df5073","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"5c20b80f-a5aa-4f1e-b24f-3c81738732b8","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515380.2985833} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"27f0293b-a10f-4358-a7ed-49ebc4843c9b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515380.2992022} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86cff7ef-33d3-47b5-9ed6-51490fda433e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3999aee5-ca9f-4a51-bcdc-3f1ba252ef0f","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515380.3020663} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:20Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.955732,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:20Z"} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Received request.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:20Z"} 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":"496368ff5f1d4655234acc9a00cb4d79"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":25}} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/86cff7ef-33d3-47b5-9ed6-51490fda433e","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/86cff7ef-33d3-47b5-9ed6-51490fda433e","object_type":"device","rebac_allow":false,"scope_allow":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":"1c3c2e60-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdea5134d-8cee-430f-9737-65716d82d144","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"32d020b8-3cbb-4f44-8adf-75ab3123060d","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515380.3071978} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Sent response.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.730527,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dea5134d-8cee-430f-9737-65716d82d144","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dea5134d-8cee-430f-9737-65716d82d144","object_type":"device","rebac_allow":false,"scope_allow":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":"1c3ccaa0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/16e4929f-8700-47c9-9d9b-e8b832df5073","user":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment-1 | {"level":"info","message":"POST /experiments? 201 157ms","method":"POST","requestID":"496368ff5f1d4655234acc9a00cb4d79","responseTime":157,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"09/Jul/2024:08:56:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.164","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"496368ff5f1d4655234acc9a00cb4d79"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/86cff7ef-33d3-47b5-9ed6-51490fda433e/signaling 200 19ms","method":"POST","requestID":"1c3c2e60-3dd1-11ef-ab4a-87fddd4f273f","responseTime":19,"status":200,"url":"/devices/86cff7ef-33d3-47b5-9ed6-51490fda433e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/dea5134d-8cee-430f-9737-65716d82d144/signaling 200 17ms","method":"POST","requestID":"1c3ccaa0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":17,"status":200,"url":"/devices/dea5134d-8cee-430f-9737-65716d82d144/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4MH0.qUgFwHVD_5JDNBaqopH1TcLhSt200q9cfYqwooZQGk4","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"84574f95c7aa4867864317e348ead63b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:20Z"} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Received request.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:20Z"} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Sent response.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.875536,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dea5134d-8cee-430f-9737-65716d82d144","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/dea5134d-8cee-430f-9737-65716d82d144","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515380,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4MH0.qUgFwHVD_5JDNBaqopH1TcLhSt200q9cfYqwooZQGk4"} 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":"84574f95c7aa4867864317e348ead63b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86cff7ef-33d3-47b5-9ed6-51490fda433e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b8d3a1b1-4e98-461b-bcfb-19fb3efa43bc","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515380.3224502} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.439442,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/86cff7ef-33d3-47b5-9ed6-51490fda433e","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/86cff7ef-33d3-47b5-9ed6-51490fda433e","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"1c3fb0d0-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdea5134d-8cee-430f-9737-65716d82d144","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdea5134d-8cee-430f-9737-65716d82d144","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:17.977872822Z"}]},"request_id":"01ea504c-2b87-4f9b-aa45-ee3046cc8ae7","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515380.3271468} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/86cff7ef-33d3-47b5-9ed6-51490fda433e/signaling 200 10ms","method":"POST","requestID":"1c3fb0d0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/devices/86cff7ef-33d3-47b5-9ed6-51490fda433e/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":"84574f95c7aa4867864317e348ead63b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16e4929f-8700-47c9-9d9b-e8b832df5073"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16e4929f-8700-47c9-9d9b-e8b832df5073"},"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":"e5d95517-0642-4931-a660-b8d2fb35cf93"},{"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":"9bd2424e-bac8-492e-8f4e-609462599484"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"410191f2-d96f-4915-9631-acc0e6783c7b"}]},"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/dea5134d-8cee-430f-9737-65716d82d144"},{"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/86cff7ef-33d3-47b5-9ed6-51490fda433e"}],"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":"09/Jul/2024:08:56:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dea5134d-8cee-430f-9737-65716d82d144? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"84574f95c7aa4867864317e348ead63b"} device-1 | {"level":"info","message":"GET /devices/dea5134d-8cee-430f-9737-65716d82d144? 200 13ms","method":"GET","requestID":"84574f95c7aa4867864317e348ead63b","responseTime":13,"status":200,"url":"/devices/dea5134d-8cee-430f-9737-65716d82d144?"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:20Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.048548,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515380,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4MH0.qUgFwHVD_5JDNBaqopH1TcLhSt200q9cfYqwooZQGk4"} 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":"1c41aca0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4MH0.qUgFwHVD_5JDNBaqopH1TcLhSt200q9cfYqwooZQGk4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e4f41a8d622191365a7391368f7dbe07","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:20Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.670235,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/86cff7ef-33d3-47b5-9ed6-51490fda433e","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/86cff7ef-33d3-47b5-9ed6-51490fda433e","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515380,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4MH0.qUgFwHVD_5JDNBaqopH1TcLhSt200q9cfYqwooZQGk4"} 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":"e4f41a8d622191365a7391368f7dbe07"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","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%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"8797b6ef-aaf9-43a8-973d-81232d666845","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515380.3457417} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"25ed1473-31b2-4ad4-87f3-ea1e3e6f795e","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515380.345957} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86cff7ef-33d3-47b5-9ed6-51490fda433e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86cff7ef-33d3-47b5-9ed6-51490fda433e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:18.028257444Z"}]},"request_id":"09758866-8c5b-4358-8659-9097a5e46c05","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515380.34642} 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":"1c41aca0-3dd1-11ef-ab4a-87fddd4f273f"},"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 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":"e4f41a8d622191365a7391368f7dbe07"},"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/86cff7ef-33d3-47b5-9ed6-51490fda433e? 200 13ms","method":"GET","requestID":"e4f41a8d622191365a7391368f7dbe07","responseTime":13,"status":200,"url":"/devices/86cff7ef-33d3-47b5-9ed6-51490fda433e?"} gateway-1 | {"time_local":"09/Jul/2024:08:56:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/86cff7ef-33d3-47b5-9ed6-51490fda433e? 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":"e4f41a8d622191365a7391368f7dbe07"} 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/ccd2778f-5daf-4366-84e6-b54fd19dedba'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/ccd2778f-5daf-4366-84e6-b54fd19dedba'"} 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 32ms","method":"POST","requestID":"1c41aca0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":32,"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/16e4929f-8700-47c9-9d9b-e8b832df5073"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:20Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdea5134d-8cee-430f-9737-65716d82d144","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"880c8537-ffb7-4ec6-b335-0b66e615b86c","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515380.3933945} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.071433,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dea5134d-8cee-430f-9737-65716d82d144","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dea5134d-8cee-430f-9737-65716d82d144","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"1c4a8640-3dd1-11ef-ab4a-87fddd4f273f"},"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/dea5134d-8cee-430f-9737-65716d82d144/signaling 200 9ms","method":"POST","requestID":"1c4a8640-3dd1-11ef-ab4a-87fddd4f273f","responseTime":9,"status":200,"url":"/devices/dea5134d-8cee-430f-9737-65716d82d144/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:20Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86cff7ef-33d3-47b5-9ed6-51490fda433e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5acb35bc-07c4-40e5-a7f6-c6ae93be5344","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515380.4058816} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.234214,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/86cff7ef-33d3-47b5-9ed6-51490fda433e","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/86cff7ef-33d3-47b5-9ed6-51490fda433e","object_type":"device","rebac_allow":false,"scope_allow":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":"1c4c5b00-3dd1-11ef-ab4a-87fddd4f273f"},"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/86cff7ef-33d3-47b5-9ed6-51490fda433e/signaling 200 10ms","method":"POST","requestID":"1c4c5b00-3dd1-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/devices/86cff7ef-33d3-47b5-9ed6-51490fda433e/signaling"} device-1 | {"data":{"peerconnection":"ccd2778f-5daf-4366-84e6-b54fd19dedba","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/ccd2778f-5daf-4366-84e6-b54fd19dedba' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ccd2778f-5daf-4366-84e6-b54fd19dedba","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":"ec96457ede4b6d80517d9bddd5d90b2c","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/dea5134d-8cee-430f-9737-65716d82d144"},{"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/86cff7ef-33d3-47b5-9ed6-51490fda433e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/ccd2778f-5daf-4366-84e6-b54fd19dedba"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"ec96457ede4b6d80517d9bddd5d90b2c","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:56:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"ec96457ede4b6d80517d9bddd5d90b2c"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/86cff7ef-33d3-47b5-9ed6-51490fda433e'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/86cff7ef-33d3-47b5-9ed6-51490fda433e'"} device-1 | {"data":{"peerconnection":"ccd2778f-5daf-4366-84e6-b54fd19dedba","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"ccd2778f-5daf-4366-84e6-b54fd19dedba","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/ccd2778f-5daf-4366-84e6-b54fd19dedba' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ccd2778f-5daf-4366-84e6-b54fd19dedba","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":"fe115b78174267162e0eb4aa9aa03c3b","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/dea5134d-8cee-430f-9737-65716d82d144"},{"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/86cff7ef-33d3-47b5-9ed6-51490fda433e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/ccd2778f-5daf-4366-84e6-b54fd19dedba"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:22Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fccd2778f-5daf-4366-84e6-b54fd19dedba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3720ca6e-3de4-40f2-889c-80fa30883633","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515382.513367} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.302873,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ccd2778f-5daf-4366-84e6-b54fd19dedba","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/ccd2778f-5daf-4366-84e6-b54fd19dedba","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":"1d8ddbb0-3dd1-11ef-ab4a-87fddd4f273f"},"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/ccd2778f-5daf-4366-84e6-b54fd19dedba 200 10ms","method":"GET","requestID":"1d8ddbb0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/peerconnections/ccd2778f-5daf-4366-84e6-b54fd19dedba"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 40ms","method":"POST","requestID":"fe115b78174267162e0eb4aa9aa03c3b","responseTime":40,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:56:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch","requestID":"fe115b78174267162e0eb4aa9aa03c3b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:22Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdea5134d-8cee-430f-9737-65716d82d144","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2419c331-9983-4174-bcd2-8e27cee08727","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515382.545902} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.934006,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dea5134d-8cee-430f-9737-65716d82d144","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dea5134d-8cee-430f-9737-65716d82d144","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"1d92e4c0-3dd1-11ef-ab4a-87fddd4f273f"},"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/dea5134d-8cee-430f-9737-65716d82d144/signaling 200 11ms","method":"POST","requestID":"1d92e4c0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/devices/dea5134d-8cee-430f-9737-65716d82d144/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:22Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86cff7ef-33d3-47b5-9ed6-51490fda433e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4b9405f0-f7d8-4ab9-ab55-8cf9a6a930af","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515382.56088} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.875949,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/86cff7ef-33d3-47b5-9ed6-51490fda433e","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/86cff7ef-33d3-47b5-9ed6-51490fda433e","object_type":"device","rebac_allow":false,"scope_allow":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":"1d9507a0-3dd1-11ef-ab4a-87fddd4f273f"},"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/86cff7ef-33d3-47b5-9ed6-51490fda433e/signaling 200 13ms","method":"POST","requestID":"1d9507a0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":13,"status":200,"url":"/devices/86cff7ef-33d3-47b5-9ed6-51490fda433e/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4Mn0.tK03lAiGesTpuliS8t1I9PThaRh03lgSItrcsadht6E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"6088e73e16b3501b6bbdea06cd2f68c5","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/16e4929f-8700-47c9-9d9b-e8b832df5073"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:22Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.832771,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/16e4929f-8700-47c9-9d9b-e8b832df5073","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/16e4929f-8700-47c9-9d9b-e8b832df5073","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515382,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4Mn0.tK03lAiGesTpuliS8t1I9PThaRh03lgSItrcsadht6E"} 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":"6088e73e16b3501b6bbdea06cd2f68c5"},"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/16e4929f-8700-47c9-9d9b-e8b832df5073"} gateway-1 | {"time_local":"09/Jul/2024:08:56:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/16e4929f-8700-47c9-9d9b-e8b832df5073 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":"6088e73e16b3501b6bbdea06cd2f68c5"} experiment-1 | {"level":"info","message":"GET /experiments/16e4929f-8700-47c9-9d9b-e8b832df5073 200 14ms","method":"GET","requestID":"6088e73e16b3501b6bbdea06cd2f68c5","responseTime":14,"status":200,"url":"/experiments/16e4929f-8700-47c9-9d9b-e8b832df5073"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4Mn0.tK03lAiGesTpuliS8t1I9PThaRh03lgSItrcsadht6E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ef3a83a11df140993563c4903cb0407f","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/16e4929f-8700-47c9-9d9b-e8b832df5073"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:22Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.231405,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:22Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/16e4929f-8700-47c9-9d9b-e8b832df5073","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/16e4929f-8700-47c9-9d9b-e8b832df5073","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515382,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4Mn0.tK03lAiGesTpuliS8t1I9PThaRh03lgSItrcsadht6E"} 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":"ef3a83a11df140993563c4903cb0407f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16e4929f-8700-47c9-9d9b-e8b832df5073"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:22Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.231544,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:22Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ccd2778f-5daf-4366-84e6-b54fd19dedba","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:http://localhost/peerconnections/ccd2778f-5daf-4366-84e6-b54fd19dedba","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515382,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4Mn0.tK03lAiGesTpuliS8t1I9PThaRh03lgSItrcsadht6E"} 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":"1da18ac0-3dd1-11ef-ab4a-87fddd4f273f"},"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/ccd2778f-5daf-4366-84e6-b54fd19dedba' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/ccd2778f-5daf-4366-84e6-b54fd19dedba' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ccd2778f-5daf-4366-84e6-b54fd19dedba","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fccd2778f-5daf-4366-84e6-b54fd19dedba': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fccd2778f-5daf-4366-84e6-b54fd19dedba","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"ec2ec6f7-8c9d-4c18-8efa-310da29b8736","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515382.6616175} 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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"34896ac4-04ed-4580-a66c-e541a3636083","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515382.6621826} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0d4aafa6b60f54568fd10839385f9637","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)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a88e3d2259b6f6f7923f3ddf9caa2598","responseTime":1,"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":"1da18ac0-3dd1-11ef-ab4a-87fddd4f273f"},"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-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/dea5134d-8cee-430f-9737-65716d82d144"},{"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/86cff7ef-33d3-47b5-9ed6-51490fda433e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ccd2778f-5daf-4366-84e6-b54fd19dedba"}}},"level":"info","message":"received a callback"} 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/dea5134d-8cee-430f-9737-65716d82d144"},{"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/86cff7ef-33d3-47b5-9ed6-51490fda433e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ccd2778f-5daf-4366-84e6-b54fd19dedba"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/ccd2778f-5daf-4366-84e6-b54fd19dedba 204 39ms","method":"DELETE","requestID":"1da18ac0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":39,"status":204,"url":"/peerconnections/ccd2778f-5daf-4366-84e6-b54fd19dedba"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/86cff7ef-33d3-47b5-9ed6-51490fda433e'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16e4929f-8700-47c9-9d9b-e8b832df5073"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:22Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdea5134d-8cee-430f-9737-65716d82d144","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4151cd7a-8c90-4a58-8b21-ba8584befc9f","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515382.706221} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.610689,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dea5134d-8cee-430f-9737-65716d82d144","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dea5134d-8cee-430f-9737-65716d82d144","object_type":"device","rebac_allow":false,"scope_allow":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":"1dab27b0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F16e4929f-8700-47c9-9d9b-e8b832df5073': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F16e4929f-8700-47c9-9d9b-e8b832df5073","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"4d40628f-2ae8-4b7c-b205-2c22ceeb1df4","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515382.709587} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3490c9fa-7ddb-43f7-a161-04d14996f0b0","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515382.709989} 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":"ef3a83a11df140993563c4903cb0407f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/dea5134d-8cee-430f-9737-65716d82d144/signaling 200 16ms","method":"POST","requestID":"1dab27b0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":16,"status":200,"url":"/devices/dea5134d-8cee-430f-9737-65716d82d144/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:22Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86cff7ef-33d3-47b5-9ed6-51490fda433e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"994af10f-e4e7-4d0b-b6a3-ebeccd0ad06e","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515382.7234797} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.522991,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/86cff7ef-33d3-47b5-9ed6-51490fda433e","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/86cff7ef-33d3-47b5-9ed6-51490fda433e","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"1dade6d0-3dd1-11ef-ab4a-87fddd4f273f"},"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/86cff7ef-33d3-47b5-9ed6-51490fda433e/signaling 200 11ms","method":"POST","requestID":"1dade6d0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/devices/86cff7ef-33d3-47b5-9ed6-51490fda433e/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/16e4929f-8700-47c9-9d9b-e8b832df5073"} gateway-1 | {"time_local":"09/Jul/2024:08:56:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/16e4929f-8700-47c9-9d9b-e8b832df5073 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.158","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ef3a83a11df140993563c4903cb0407f"} experiment-1 | {"level":"info","message":"DELETE /experiments/16e4929f-8700-47c9-9d9b-e8b832df5073 204 152ms","method":"DELETE","requestID":"ef3a83a11df140993563c4903cb0407f","responseTime":152,"status":204,"url":"/experiments/16e4929f-8700-47c9-9d9b-e8b832df5073"} gateway-1 | {"time_local":"09/Jul/2024:08:56:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3193","request_time":"4.206","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"4f0c3e2bf47df1e29c35c9d02af8ca3a"} gateway-1 | {"time_local":"09/Jul/2024:08:56:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.117","http_referrer":"","http_user_agent":"node-fetch","requestID":"0d4aafa6b60f54568fd10839385f9637"} gateway-1 | {"time_local":"09/Jul/2024:08:56:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.118","http_referrer":"","http_user_agent":"node-fetch","requestID":"a88e3d2259b6f6f7923f3ddf9caa2598"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 112ms","method":"POST","requestID":"0d4aafa6b60f54568fd10839385f9637","responseTime":112,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 110ms","method":"POST","requestID":"a88e3d2259b6f6f7923f3ddf9caa2598","responseTime":110,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4Mn0.tK03lAiGesTpuliS8t1I9PThaRh03lgSItrcsadht6E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5a12cde28be66754a5283bdb5dea5c34","responseTime":4,"status":200,"url":"/auth"} gateway-1 | {"time_local":"09/Jul/2024:08:56:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2702","request_time":"2.701","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"70c6eef27aec8097c410aa82ecf46fe3"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:22Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.087111,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515382,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4Mn0.tK03lAiGesTpuliS8t1I9PThaRh03lgSItrcsadht6E"} 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":"5a12cde28be66754a5283bdb5dea5c34"},"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/dea5134d-8cee-430f-9737-65716d82d144' 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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ddc7a06-83d0-411d-9e71-a7be01c56e40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ddbee5a1-c944-4446-aec1-b8994ec78337","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515382.8106024} 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":"5a12cde28be66754a5283bdb5dea5c34"},"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/86cff7ef-33d3-47b5-9ed6-51490fda433e' 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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8318944c-d9a2-44d6-9326-6f7753fd41fb","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515382.8163013} 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":"5a12cde28be66754a5283bdb5dea5c34"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ddc7a06-83d0-411d-9e71-a7be01c56e40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"35db7426-e5a7-4d85-9bf8-4335f12a40e2","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515382.8269124} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8dfcaf20-34db-4a58-8e08-8690c1ffe1cb","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515382.8272645} 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":"5a12cde28be66754a5283bdb5dea5c34"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ddc7a06-83d0-411d-9e71-a7be01c56e40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ddc7a06-83d0-411d-9e71-a7be01c56e40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:22.826879406Z"}]},"request_id":"2d49b2f2-99a4-4824-87ae-19b05b5464e7","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515382.8313427} 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":"5a12cde28be66754a5283bdb5dea5c34"},"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":"5a12cde28be66754a5283bdb5dea5c34","responseTime":50,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"09/Jul/2024:08:56:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5a12cde28be66754a5283bdb5dea5c34"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4Mn0.tK03lAiGesTpuliS8t1I9PThaRh03lgSItrcsadht6E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8d2f287b52f1f0dc06c805451a3e594b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:22Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.703858,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515382,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4Mn0.tK03lAiGesTpuliS8t1I9PThaRh03lgSItrcsadht6E"} 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":"8d2f287b52f1f0dc06c805451a3e594b"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faf5a283e-8e6d-4970-8347-fc944ff82c5f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"edf94bc7-06d3-4d46-8821-603d33ff8433","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515382.85492} 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":"8d2f287b52f1f0dc06c805451a3e594b"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"31d744a3-9666-4f58-820e-35d11f74a6ce","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515382.8593483} 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":"8d2f287b52f1f0dc06c805451a3e594b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faf5a283e-8e6d-4970-8347-fc944ff82c5f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"f1d6dfc3-a6fd-48ed-b58c-520118638d8f","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515382.8737996} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"147492ad-e11f-4ab3-94cf-452164c24fa3","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515382.8739278} 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":"8d2f287b52f1f0dc06c805451a3e594b"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faf5a283e-8e6d-4970-8347-fc944ff82c5f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faf5a283e-8e6d-4970-8347-fc944ff82c5f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:22.873772152Z"}]},"request_id":"bce3a146-6a3d-4513-be3d-f1cac8960dd0","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515382.878468} 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":"8d2f287b52f1f0dc06c805451a3e594b"},"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 41ms","method":"POST","requestID":"8d2f287b52f1f0dc06c805451a3e594b","responseTime":41,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"09/Jul/2024:08:56:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8d2f287b52f1f0dc06c805451a3e594b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4M30.zCNgnjRPL2or528zovhCEtN0zdTTQvD2ojSRAgI7Qe0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4226ea0073a19eb5928fb4f50fa36844","responseTime":4,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4M30.zCNgnjRPL2or528zovhCEtN0zdTTQvD2ojSRAgI7Qe0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6e77f3acc214b4d11af0817e0e895c57","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:44070","level":"info","msg":"Received request.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:23Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.7268,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515383,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4M30.zCNgnjRPL2or528zovhCEtN0zdTTQvD2ojSRAgI7Qe0"} 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":"4226ea0073a19eb5928fb4f50fa36844"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Received request.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:23Z"} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Sent response.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.662062,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/af5a283e-8e6d-4970-8347-fc944ff82c5f","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/af5a283e-8e6d-4970-8347-fc944ff82c5f","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515383,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4M30.zCNgnjRPL2or528zovhCEtN0zdTTQvD2ojSRAgI7Qe0"} 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":"6e77f3acc214b4d11af0817e0e895c57"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ddc7a06-83d0-411d-9e71-a7be01c56e40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ddc7a06-83d0-411d-9e71-a7be01c56e40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:22.826879406Z"}]},"request_id":"0b52e765-75e9-4952-88cf-1d5a4c4ad333","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515383.3658075} 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":"4226ea0073a19eb5928fb4f50fa36844"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faf5a283e-8e6d-4970-8347-fc944ff82c5f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faf5a283e-8e6d-4970-8347-fc944ff82c5f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:22.873772152Z"}]},"request_id":"f138025d-8129-4b9e-9675-d5a5433aec19","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515383.3664625} 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":"6e77f3acc214b4d11af0817e0e895c57"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"995ba205-f50c-4309-b3b9-752bbaa561c3","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515383.3707337} 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":"4226ea0073a19eb5928fb4f50fa36844"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f9b03813-bce9-4662-978c-cd16010dc834","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515383.3720474} 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":"6e77f3acc214b4d11af0817e0e895c57"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faf5a283e-8e6d-4970-8347-fc944ff82c5f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faf5a283e-8e6d-4970-8347-fc944ff82c5f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:22.873772152Z"}]},"request_id":"64121c0f-93f2-40ca-8f40-5c023d1c6eb1","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515383.3753405} 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":"6e77f3acc214b4d11af0817e0e895c57"},"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":"09/Jul/2024:08:56:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/af5a283e-8e6d-4970-8347-fc944ff82c5f HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.031","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"6e77f3acc214b4d11af0817e0e895c57"} device-1 | {"level":"info","message":"PATCH /devices/af5a283e-8e6d-4970-8347-fc944ff82c5f 200 23ms","method":"PATCH","requestID":"6e77f3acc214b4d11af0817e0e895c57","responseTime":23,"status":200,"url":"/devices/af5a283e-8e6d-4970-8347-fc944ff82c5f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4M30.zCNgnjRPL2or528zovhCEtN0zdTTQvD2ojSRAgI7Qe0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"271e6075b5e147e49e734da17248cde4","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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ddc7a06-83d0-411d-9e71-a7be01c56e40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ddc7a06-83d0-411d-9e71-a7be01c56e40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:22.826879406Z"}]},"request_id":"02b70e33-81cf-428f-9be0-5935d0c18c87","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515383.3857546} 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":"4226ea0073a19eb5928fb4f50fa36844"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:23Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.469407,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:23Z"} device-1 | {"level":"info","message":"PATCH /devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40 200 36ms","method":"PATCH","requestID":"4226ea0073a19eb5928fb4f50fa36844","responseTime":36,"status":200,"url":"/devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40"} gateway-1 | {"time_local":"09/Jul/2024:08:56:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.042","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"4226ea0073a19eb5928fb4f50fa36844"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/af5a283e-8e6d-4970-8347-fc944ff82c5f","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/af5a283e-8e6d-4970-8347-fc944ff82c5f","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515383,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4M30.zCNgnjRPL2or528zovhCEtN0zdTTQvD2ojSRAgI7Qe0"} 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":"271e6075b5e147e49e734da17248cde4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4M30.zCNgnjRPL2or528zovhCEtN0zdTTQvD2ojSRAgI7Qe0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0ea3e652b999b0fc5b5de5e959856086","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:23Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.957691,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515383,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4M30.zCNgnjRPL2or528zovhCEtN0zdTTQvD2ojSRAgI7Qe0"} 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":"0ea3e652b999b0fc5b5de5e959856086"},"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":"09/Jul/2024:08:56:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/af5a283e-8e6d-4970-8347-fc944ff82c5f/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":"271e6075b5e147e49e734da17248cde4"} device-1 | {"level":"info","message":"POST /devices/af5a283e-8e6d-4970-8347-fc944ff82c5f/websocket 200 19ms","method":"POST","requestID":"271e6075b5e147e49e734da17248cde4","responseTime":19,"status":200,"url":"/devices/af5a283e-8e6d-4970-8347-fc944ff82c5f/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"09/Jul/2024:08:56:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.019","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"0ea3e652b999b0fc5b5de5e959856086"} device-1 | {"level":"info","message":"POST /devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40/websocket 200 15ms","method":"POST","requestID":"0ea3e652b999b0fc5b5de5e959856086","responseTime":15,"status":200,"url":"/devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/af5a283e-8e6d-4970-8347-fc944ff82c5f' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4M30.zCNgnjRPL2or528zovhCEtN0zdTTQvD2ojSRAgI7Qe0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d22a1a6a3a88566019a6bca88608c503","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:23Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.814596,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515383,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4M30.zCNgnjRPL2or528zovhCEtN0zdTTQvD2ojSRAgI7Qe0"} 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":"d22a1a6a3a88566019a6bca88608c503"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ddc7a06-83d0-411d-9e71-a7be01c56e40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ddc7a06-83d0-411d-9e71-a7be01c56e40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:22.826879406Z"}]},"request_id":"72ae5f7e-7ea3-4cb0-a80f-81b1d151900e","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515383.4398794} 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":"d22a1a6a3a88566019a6bca88608c503"},"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":"09/Jul/2024:08:56:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d22a1a6a3a88566019a6bca88608c503"} device-1 | {"level":"info","message":"GET /devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40? 200 10ms","method":"GET","requestID":"d22a1a6a3a88566019a6bca88608c503","responseTime":10,"status":200,"url":"/devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4M30.zCNgnjRPL2or528zovhCEtN0zdTTQvD2ojSRAgI7Qe0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"92cb7f73dc31ea8ca57119d2b4ea8242","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:23Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.878258,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/af5a283e-8e6d-4970-8347-fc944ff82c5f","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/af5a283e-8e6d-4970-8347-fc944ff82c5f","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515383,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4M30.zCNgnjRPL2or528zovhCEtN0zdTTQvD2ojSRAgI7Qe0"} 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":"92cb7f73dc31ea8ca57119d2b4ea8242"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faf5a283e-8e6d-4970-8347-fc944ff82c5f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faf5a283e-8e6d-4970-8347-fc944ff82c5f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:22.873772152Z"}]},"request_id":"8000edc4-a09e-49b0-830d-c3d40024a82c","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515383.4557831} 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":"92cb7f73dc31ea8ca57119d2b4ea8242"},"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/af5a283e-8e6d-4970-8347-fc944ff82c5f? 200 11ms","method":"GET","requestID":"92cb7f73dc31ea8ca57119d2b4ea8242","responseTime":11,"status":200,"url":"/devices/af5a283e-8e6d-4970-8347-fc944ff82c5f?"} gateway-1 | {"time_local":"09/Jul/2024:08:56:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/af5a283e-8e6d-4970-8347-fc944ff82c5f? 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":"92cb7f73dc31ea8ca57119d2b4ea8242"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4M30.zCNgnjRPL2or528zovhCEtN0zdTTQvD2ojSRAgI7Qe0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9994cf61412b6774a40292fa86566ea4","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:44070","level":"info","msg":"Received request.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:23Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.635588,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515383,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4M30.zCNgnjRPL2or528zovhCEtN0zdTTQvD2ojSRAgI7Qe0"} 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":"9994cf61412b6774a40292fa86566ea4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1ac5943-0214-4390-97a3-58eafd86389f"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1ac5943-0214-4390-97a3-58eafd86389f"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1ac5943-0214-4390-97a3-58eafd86389f"},"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:44070","level":"info","msg":"Received request.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:23Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.749713,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515383,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4M30.zCNgnjRPL2or528zovhCEtN0zdTTQvD2ojSRAgI7Qe0"} 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":"1e25d5f0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Received request.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:23Z"} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Sent response.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.744102,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/af5a283e-8e6d-4970-8347-fc944ff82c5f","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/af5a283e-8e6d-4970-8347-fc944ff82c5f","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515383,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4M30.zCNgnjRPL2or528zovhCEtN0zdTTQvD2ojSRAgI7Qe0"} 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":"1e25fd00-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ddc7a06-83d0-411d-9e71-a7be01c56e40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ddc7a06-83d0-411d-9e71-a7be01c56e40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:22.826879406Z"}]},"request_id":"83af332e-9723-496e-a8a2-ac92c227bd1d","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515383.511266} 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":"1e25d5f0-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faf5a283e-8e6d-4970-8347-fc944ff82c5f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faf5a283e-8e6d-4970-8347-fc944ff82c5f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:22.873772152Z"}]},"request_id":"02a5d101-6a0f-4c3a-85e3-c5f3dc83f23d","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515383.5120814} 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":"1e25fd00-3dd1-11ef-ab4a-87fddd4f273f"},"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/8ddc7a06-83d0-411d-9e71-a7be01c56e40? 200 13ms","method":"GET","requestID":"1e25d5f0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":13,"status":200,"url":"/devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/af5a283e-8e6d-4970-8347-fc944ff82c5f? 200 14ms","method":"GET","requestID":"1e25fd00-3dd1-11ef-ab4a-87fddd4f273f","responseTime":14,"status":200,"url":"/devices/af5a283e-8e6d-4970-8347-fc944ff82c5f?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1ac5943-0214-4390-97a3-58eafd86389f"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1ac5943-0214-4390-97a3-58eafd86389f"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1ac5943-0214-4390-97a3-58eafd86389f"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1ac5943-0214-4390-97a3-58eafd86389f"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1ac5943-0214-4390-97a3-58eafd86389f"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1ac5943-0214-4390-97a3-58eafd86389f"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1ac5943-0214-4390-97a3-58eafd86389f"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1ac5943-0214-4390-97a3-58eafd86389f"},"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:44070","level":"info","msg":"Received request.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:23Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1ac5943-0214-4390-97a3-58eafd86389f"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.214586,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:23Z"} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Received request.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515383,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4M30.zCNgnjRPL2or528zovhCEtN0zdTTQvD2ojSRAgI7Qe0"} 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":"1e2f4bd0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Sent response.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.02379,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/af5a283e-8e6d-4970-8347-fc944ff82c5f","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/af5a283e-8e6d-4970-8347-fc944ff82c5f","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515383,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4M30.zCNgnjRPL2or528zovhCEtN0zdTTQvD2ojSRAgI7Qe0"} 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":"1e2f99f0-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ddc7a06-83d0-411d-9e71-a7be01c56e40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ddc7a06-83d0-411d-9e71-a7be01c56e40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:22.826879406Z"}]},"request_id":"806d2522-b28d-4007-b0c9-adab8b66613d","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515383.584637} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faf5a283e-8e6d-4970-8347-fc944ff82c5f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faf5a283e-8e6d-4970-8347-fc944ff82c5f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:22.873772152Z"}]},"request_id":"a8121483-76d0-4da1-82b0-26f5fcc3cc92","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515383.586125} 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":"1e2f4bd0-3dd1-11ef-ab4a-87fddd4f273f"},"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:59780","level":"info","msg":"Received request.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:23Z"} 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":"1e2f99f0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ddc7a06-83d0-411d-9e71-a7be01c56e40","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2589e3fe-8705-4f2f-856f-fe2beeff36a9","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515383.5890977} authorization-1 | {"client_addr":"127.0.0.1:59780","level":"info","msg":"Sent response.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.457248,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1e2fe810-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":17}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40? 200 28ms","method":"GET","requestID":"1e2f4bd0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":28,"status":200,"url":"/devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/af5a283e-8e6d-4970-8347-fc944ff82c5f? 200 26ms","method":"GET","requestID":"1e2f99f0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":26,"status":200,"url":"/devices/af5a283e-8e6d-4970-8347-fc944ff82c5f?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40/signaling 200 26ms","method":"POST","requestID":"1e2fe810-3dd1-11ef-ab4a-87fddd4f273f","responseTime":26,"status":200,"url":"/devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40/signaling"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb1ac5943-0214-4390-97a3-58eafd86389f#owner@http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb1ac5943-0214-4390-97a3-58eafd86389f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"f9d59882-60fa-4557-9fef-9774d8d532ec","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515383.5965402} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"81f513c6-57d7-468b-be02-bb50c3c3ae52","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515383.5970407} 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":"9994cf61412b6774a40292fa86566ea4"},"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:44070","level":"info","msg":"Received request.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:23Z"} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Received request.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:23Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ddc7a06-83d0-411d-9e71-a7be01c56e40","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"085eccb0-cd62-40fd-9a76-90fb63fdbf50","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515383.60447} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.905935,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:23Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faf5a283e-8e6d-4970-8347-fc944ff82c5f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a2abb066-9fbf-428d-9029-76f554a318df","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515383.6055174} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"1e3454e0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Sent response.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.81088,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/af5a283e-8e6d-4970-8347-fc944ff82c5f","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/af5a283e-8e6d-4970-8347-fc944ff82c5f","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/b1ac5943-0214-4390-97a3-58eafd86389f","user":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"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":"1e34a300-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} gateway-1 | {"time_local":"09/Jul/2024:08:56:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.147","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9994cf61412b6774a40292fa86566ea4"} experiment-1 | {"level":"info","message":"POST /experiments? 201 143ms","method":"POST","requestID":"9994cf61412b6774a40292fa86566ea4","responseTime":143,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40/signaling 200 13ms","method":"POST","requestID":"1e3454e0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":13,"status":200,"url":"/devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/af5a283e-8e6d-4970-8347-fc944ff82c5f/signaling 200 12ms","method":"POST","requestID":"1e34a300-3dd1-11ef-ab4a-87fddd4f273f","responseTime":12,"status":200,"url":"/devices/af5a283e-8e6d-4970-8347-fc944ff82c5f/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4M30.zCNgnjRPL2or528zovhCEtN0zdTTQvD2ojSRAgI7Qe0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3080f1e110163d3afac96a4ac1bd7ffe","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:44070","level":"info","msg":"Received request.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:23Z"} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Received request.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:23Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faf5a283e-8e6d-4970-8347-fc944ff82c5f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"33397ebf-c653-41c4-9ef8-30f4c1fbbde7","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515383.6204143} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Sent response.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.146026,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515383,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4M30.zCNgnjRPL2or528zovhCEtN0zdTTQvD2ojSRAgI7Qe0"} 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":"3080f1e110163d3afac96a4ac1bd7ffe"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.473846,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/af5a283e-8e6d-4970-8347-fc944ff82c5f","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/af5a283e-8e6d-4970-8347-fc944ff82c5f","object_type":"device","rebac_allow":false,"scope_allow":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":"1e36c5e0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} 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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ddc7a06-83d0-411d-9e71-a7be01c56e40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ddc7a06-83d0-411d-9e71-a7be01c56e40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:22.826879406Z"}]},"request_id":"c1837d77-b29b-4df0-9850-13f56451bb83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515383.6257062} device-1 | {"level":"info","message":"POST /devices/af5a283e-8e6d-4970-8347-fc944ff82c5f/signaling 200 12ms","method":"POST","requestID":"1e36c5e0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":12,"status":200,"url":"/devices/af5a283e-8e6d-4970-8347-fc944ff82c5f/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":"3080f1e110163d3afac96a4ac1bd7ffe"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1ac5943-0214-4390-97a3-58eafd86389f"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1ac5943-0214-4390-97a3-58eafd86389f"},"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":"d46a440c-f4c5-404b-9a0a-de4b5e125987"},{"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":"e53a3a93-0c63-4ac4-a1b4-f6b9a376de83"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"6c12cb45-7296-4725-88a9-d3317be79b92"}]},"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/8ddc7a06-83d0-411d-9e71-a7be01c56e40"},{"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/af5a283e-8e6d-4970-8347-fc944ff82c5f"}],"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":"09/Jul/2024:08:56:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40? 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":"3080f1e110163d3afac96a4ac1bd7ffe"} device-1 | {"level":"info","message":"GET /devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40? 200 14ms","method":"GET","requestID":"3080f1e110163d3afac96a4ac1bd7ffe","responseTime":14,"status":200,"url":"/devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40?"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:23Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.775058,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515383,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4M30.zCNgnjRPL2or528zovhCEtN0zdTTQvD2ojSRAgI7Qe0"} 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":"1e38e8c0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4M30.zCNgnjRPL2or528zovhCEtN0zdTTQvD2ojSRAgI7Qe0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"aa1730403593739580fe88f2369bcb3e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:23Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.362115,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/af5a283e-8e6d-4970-8347-fc944ff82c5f","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/af5a283e-8e6d-4970-8347-fc944ff82c5f","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515383,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4M30.zCNgnjRPL2or528zovhCEtN0zdTTQvD2ojSRAgI7Qe0"} 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":"aa1730403593739580fe88f2369bcb3e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","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%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"aa3918f9-abf1-4af1-89c8-14a820d19712","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515383.6445577} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"df19666e-20b1-4d59-8fd5-7bf9a0d7c92d","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515383.6449265} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faf5a283e-8e6d-4970-8347-fc944ff82c5f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faf5a283e-8e6d-4970-8347-fc944ff82c5f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:22.873772152Z"}]},"request_id":"32fe0a8c-06bb-492e-87bb-4acd89cfedbb","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515383.6457424} 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":"aa1730403593739580fe88f2369bcb3e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} 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":"1e38e8c0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"09/Jul/2024:08:56:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/af5a283e-8e6d-4970-8347-fc944ff82c5f? 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":"aa1730403593739580fe88f2369bcb3e"} device-1 | {"level":"info","message":"GET /devices/af5a283e-8e6d-4970-8347-fc944ff82c5f? 200 14ms","method":"GET","requestID":"aa1730403593739580fe88f2369bcb3e","responseTime":14,"status":200,"url":"/devices/af5a283e-8e6d-4970-8347-fc944ff82c5f?"} 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/0893cb4f-564b-467b-99f4-b135ebae2588'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/0893cb4f-564b-467b-99f4-b135ebae2588'"} 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 32ms","method":"POST","requestID":"1e38e8c0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":32,"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/b1ac5943-0214-4390-97a3-58eafd86389f"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:23Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ddc7a06-83d0-411d-9e71-a7be01c56e40","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"23368e55-5d0e-4f9d-985d-863867d92504","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515383.6917057} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.1132,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"1e41c260-3dd1-11ef-ab4a-87fddd4f273f"},"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/8ddc7a06-83d0-411d-9e71-a7be01c56e40/signaling 200 9ms","method":"POST","requestID":"1e41c260-3dd1-11ef-ab4a-87fddd4f273f","responseTime":9,"status":200,"url":"/devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:23Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faf5a283e-8e6d-4970-8347-fc944ff82c5f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0f90c871-2051-4295-b733-66915417d4a4","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515383.7024329} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.814126,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/af5a283e-8e6d-4970-8347-fc944ff82c5f","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/af5a283e-8e6d-4970-8347-fc944ff82c5f","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"1e437010-3dd1-11ef-ab4a-87fddd4f273f"},"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/af5a283e-8e6d-4970-8347-fc944ff82c5f/signaling 200 9ms","method":"POST","requestID":"1e437010-3dd1-11ef-ab4a-87fddd4f273f","responseTime":9,"status":200,"url":"/devices/af5a283e-8e6d-4970-8347-fc944ff82c5f/signaling"} device-1 | {"data":{"peerconnection":"0893cb4f-564b-467b-99f4-b135ebae2588","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"0893cb4f-564b-467b-99f4-b135ebae2588","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/0893cb4f-564b-467b-99f4-b135ebae2588' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0893cb4f-564b-467b-99f4-b135ebae2588","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":"5fdd205125f333a6ada89e0e732afe89","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40"},{"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/af5a283e-8e6d-4970-8347-fc944ff82c5f"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/0893cb4f-564b-467b-99f4-b135ebae2588"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"5fdd205125f333a6ada89e0e732afe89","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:56:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"5fdd205125f333a6ada89e0e732afe89"} device-1 | {"data":{"peerconnection":"0893cb4f-564b-467b-99f4-b135ebae2588","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"0893cb4f-564b-467b-99f4-b135ebae2588","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/0893cb4f-564b-467b-99f4-b135ebae2588' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0893cb4f-564b-467b-99f4-b135ebae2588","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":"5f4d93d49df1e0c9248c8def92e3293a","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40"},{"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/af5a283e-8e6d-4970-8347-fc944ff82c5f"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/0893cb4f-564b-467b-99f4-b135ebae2588"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:25Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0893cb4f-564b-467b-99f4-b135ebae2588","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"630b66f4-eb4a-4610-a315-5cc4b95c45e8","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515385.7886934} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.654517,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0893cb4f-564b-467b-99f4-b135ebae2588","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/0893cb4f-564b-467b-99f4-b135ebae2588","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":"1f819560-3dd1-11ef-ab4a-87fddd4f273f"},"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/0893cb4f-564b-467b-99f4-b135ebae2588 200 12ms","method":"GET","requestID":"1f819560-3dd1-11ef-ab4a-87fddd4f273f","responseTime":12,"status":200,"url":"/peerconnections/0893cb4f-564b-467b-99f4-b135ebae2588"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 46ms","method":"POST","requestID":"5f4d93d49df1e0c9248c8def92e3293a","responseTime":46,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:56:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch","requestID":"5f4d93d49df1e0c9248c8def92e3293a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:25Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ddc7a06-83d0-411d-9e71-a7be01c56e40","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"925732e8-b5ee-43a7-bd2a-4147f2719303","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515385.8281515} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.752425,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40","object_type":"device","rebac_allow":false,"scope_allow":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":"1f8788d0-3dd1-11ef-ab4a-87fddd4f273f"},"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/8ddc7a06-83d0-411d-9e71-a7be01c56e40/signaling 200 13ms","method":"POST","requestID":"1f8788d0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":13,"status":200,"url":"/devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:25Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faf5a283e-8e6d-4970-8347-fc944ff82c5f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"61498ae6-bfc5-41e1-a72d-7939ad4185e8","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515385.8434834} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.826111,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/af5a283e-8e6d-4970-8347-fc944ff82c5f","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/af5a283e-8e6d-4970-8347-fc944ff82c5f","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"1f89f9d0-3dd1-11ef-ab4a-87fddd4f273f"},"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/af5a283e-8e6d-4970-8347-fc944ff82c5f/signaling 200 13ms","method":"POST","requestID":"1f89f9d0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":13,"status":200,"url":"/devices/af5a283e-8e6d-4970-8347-fc944ff82c5f/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4NX0.HcKTWOm_O9RwA3-AevzCIeAnsowDrXcgjmyqpEiiAL4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"34e86bbc4ac871df8030201f02c262b0","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/b1ac5943-0214-4390-97a3-58eafd86389f"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:25Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.244059,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b1ac5943-0214-4390-97a3-58eafd86389f","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/b1ac5943-0214-4390-97a3-58eafd86389f","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515385,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4NX0.HcKTWOm_O9RwA3-AevzCIeAnsowDrXcgjmyqpEiiAL4"} 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":"34e86bbc4ac871df8030201f02c262b0"},"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/b1ac5943-0214-4390-97a3-58eafd86389f"} gateway-1 | {"time_local":"09/Jul/2024:08:56:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/b1ac5943-0214-4390-97a3-58eafd86389f 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":"34e86bbc4ac871df8030201f02c262b0"} experiment-1 | {"level":"info","message":"GET /experiments/b1ac5943-0214-4390-97a3-58eafd86389f 200 15ms","method":"GET","requestID":"34e86bbc4ac871df8030201f02c262b0","responseTime":15,"status":200,"url":"/experiments/b1ac5943-0214-4390-97a3-58eafd86389f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4NX0.HcKTWOm_O9RwA3-AevzCIeAnsowDrXcgjmyqpEiiAL4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"087fac25b464c926b4321c03a0057eb5","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/b1ac5943-0214-4390-97a3-58eafd86389f"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:25Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.322691,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:25Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b1ac5943-0214-4390-97a3-58eafd86389f","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/b1ac5943-0214-4390-97a3-58eafd86389f","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515385,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4NX0.HcKTWOm_O9RwA3-AevzCIeAnsowDrXcgjmyqpEiiAL4"} 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":"087fac25b464c926b4321c03a0057eb5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1ac5943-0214-4390-97a3-58eafd86389f"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:25Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":3.142915,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:25Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0893cb4f-564b-467b-99f4-b135ebae2588","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:http://localhost/peerconnections/0893cb4f-564b-467b-99f4-b135ebae2588","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515385,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4NX0.HcKTWOm_O9RwA3-AevzCIeAnsowDrXcgjmyqpEiiAL4"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","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":"1f954470-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0893cb4f-564b-467b-99f4-b135ebae2588' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/0893cb4f-564b-467b-99f4-b135ebae2588' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0893cb4f-564b-467b-99f4-b135ebae2588","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":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0893cb4f-564b-467b-99f4-b135ebae2588': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0893cb4f-564b-467b-99f4-b135ebae2588","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"4bbf35bc-67e2-4e61-85e2-98e244c6d1c2","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515385.9457002} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4e1b5e3d-5515-4f63-a7a1-4bbe0417ee66","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515385.9461584} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6c12c693489601e0631483417d2d457b","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40"},{"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/af5a283e-8e6d-4970-8347-fc944ff82c5f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0893cb4f-564b-467b-99f4-b135ebae2588"}}},"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 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":"1f954470-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b4f60680d3eec4f625f6e44b045949ee","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40"},{"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/af5a283e-8e6d-4970-8347-fc944ff82c5f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0893cb4f-564b-467b-99f4-b135ebae2588"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"0893cb4f-564b-467b-99f4-b135ebae2588","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/0893cb4f-564b-467b-99f4-b135ebae2588 204 58ms","method":"DELETE","requestID":"1f954470-3dd1-11ef-ab4a-87fddd4f273f","responseTime":58,"status":204,"url":"/peerconnections/0893cb4f-564b-467b-99f4-b135ebae2588"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1ac5943-0214-4390-97a3-58eafd86389f"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:25Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ddc7a06-83d0-411d-9e71-a7be01c56e40","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cc334fb1-ba19-4f13-9eba-ffb83dd9b1b7","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515386.0006044} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.306052,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40","object_type":"device","rebac_allow":false,"scope_allow":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":"1fa1c790-3dd1-11ef-ab4a-87fddd4f273f"},"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/8ddc7a06-83d0-411d-9e71-a7be01c56e40/signaling 200 14ms","method":"POST","requestID":"1fa1c790-3dd1-11ef-ab4a-87fddd4f273f","responseTime":14,"status":200,"url":"/devices/8ddc7a06-83d0-411d-9e71-a7be01c56e40/signaling"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb1ac5943-0214-4390-97a3-58eafd86389f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb1ac5943-0214-4390-97a3-58eafd86389f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"12fc1872-b127-4425-a59e-0d80b7ac27c4","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515386.009062} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3429a609-055c-47d3-bb43-f8572c7dc022","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515386.0094647} 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":"087fac25b464c926b4321c03a0057eb5"},"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:44070","level":"info","msg":"Received request.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faf5a283e-8e6d-4970-8347-fc944ff82c5f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8f05a399-d475-4ec2-9100-6390df0ba4ef","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515386.017569} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.936974,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/af5a283e-8e6d-4970-8347-fc944ff82c5f","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/af5a283e-8e6d-4970-8347-fc944ff82c5f","object_type":"device","rebac_allow":false,"scope_allow":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":"1fa486b0-3dd1-11ef-ab4a-87fddd4f273f"},"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/af5a283e-8e6d-4970-8347-fc944ff82c5f/signaling 200 13ms","method":"POST","requestID":"1fa486b0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":13,"status":200,"url":"/devices/af5a283e-8e6d-4970-8347-fc944ff82c5f/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/b1ac5943-0214-4390-97a3-58eafd86389f"} gateway-1 | {"time_local":"09/Jul/2024:08:56:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/b1ac5943-0214-4390-97a3-58eafd86389f HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.194","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"087fac25b464c926b4321c03a0057eb5"} experiment-1 | {"level":"info","message":"DELETE /experiments/b1ac5943-0214-4390-97a3-58eafd86389f 204 189ms","method":"DELETE","requestID":"087fac25b464c926b4321c03a0057eb5","responseTime":189,"status":204,"url":"/experiments/b1ac5943-0214-4390-97a3-58eafd86389f"} gateway-1 | {"time_local":"09/Jul/2024:08:56:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2707","request_time":"2.679","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"e9dbf4bfaaa0908f3a2ff65fce9c86a3"} gateway-1 | {"time_local":"09/Jul/2024:08:56:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2709","request_time":"2.671","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"513fb2a29e193b21b7a1ac3211a6767d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 138ms","method":"POST","requestID":"6c12c693489601e0631483417d2d457b","responseTime":138,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:56: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.143","http_referrer":"","http_user_agent":"node-fetch","requestID":"6c12c693489601e0631483417d2d457b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 137ms","method":"POST","requestID":"b4f60680d3eec4f625f6e44b045949ee","responseTime":137,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:56: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.144","http_referrer":"","http_user_agent":"node-fetch","requestID":"b4f60680d3eec4f625f6e44b045949ee"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4Nn0.NlwUHcRKYxbcYfS0yYP0wMnbxSekF1ombqg75FTbYNw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"67a0688d8020edffaef350179718b56f","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/8ddc7a06-83d0-411d-9e71-a7be01c56e40' closed"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.9644,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515386,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4Nn0.NlwUHcRKYxbcYfS0yYP0wMnbxSekF1ombqg75FTbYNw"} 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":"67a0688d8020edffaef350179718b56f"},"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/af5a283e-8e6d-4970-8347-fc944ff82c5f' 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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0989b55d-6ba0-483a-bd1d-4893f79c9f91","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d5cdcb95-80e1-4bc9-a8d4-9bc5618af74d","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515386.1100667} 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":"67a0688d8020edffaef350179718b56f"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"696c745a-1d18-4baf-b5d0-63ac26c8d538","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515386.1152906} 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":"67a0688d8020edffaef350179718b56f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0989b55d-6ba0-483a-bd1d-4893f79c9f91","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"ff8823d8-6fc1-4433-830a-ade4f8ee8c5b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515386.1252303} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"90ce0b6b-9c90-4f16-8c16-86287dbd552a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515386.1254532} 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":"67a0688d8020edffaef350179718b56f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0989b55d-6ba0-483a-bd1d-4893f79c9f91","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0989b55d-6ba0-483a-bd1d-4893f79c9f91","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:26.125193365Z"}]},"request_id":"c98d61fc-b781-4c24-a167-0df61a498daf","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515386.1299133} 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":"67a0688d8020edffaef350179718b56f"},"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":"09/Jul/2024:08:56: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.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"67a0688d8020edffaef350179718b56f"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"67a0688d8020edffaef350179718b56f","responseTime":42,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4Nn0.NlwUHcRKYxbcYfS0yYP0wMnbxSekF1ombqg75FTbYNw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2a59db5c204510972a23e8e1e1992e5c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.730991,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515386,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4Nn0.NlwUHcRKYxbcYfS0yYP0wMnbxSekF1ombqg75FTbYNw"} 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":"2a59db5c204510972a23e8e1e1992e5c"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F266f5e4d-2758-472e-ad8f-5cb3dfa829fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a20132c6-a7bd-4301-8148-73cd52456159","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515386.152806} 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":"2a59db5c204510972a23e8e1e1992e5c"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"40beeca1-7897-452b-97b2-ac6dae91f1e4","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515386.157611} 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":"2a59db5c204510972a23e8e1e1992e5c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F266f5e4d-2758-472e-ad8f-5cb3dfa829fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"181699b6-6c22-4b11-a079-4e91bd9d4250","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515386.1736283} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8b5b8dd4-068d-4b3e-8370-4ad47d5516f8","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515386.1737359} 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":"2a59db5c204510972a23e8e1e1992e5c"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F266f5e4d-2758-472e-ad8f-5cb3dfa829fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F266f5e4d-2758-472e-ad8f-5cb3dfa829fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:26.173593305Z"}]},"request_id":"5af11c4a-8322-453b-a1c6-66f7f6fdba95","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515386.1782677} 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":"2a59db5c204510972a23e8e1e1992e5c"},"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":"09/Jul/2024:08:56: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.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2a59db5c204510972a23e8e1e1992e5c"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"2a59db5c204510972a23e8e1e1992e5c","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4Nn0.NlwUHcRKYxbcYfS0yYP0wMnbxSekF1ombqg75FTbYNw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"f8a42477350cec2bb9f5bbc73dcce891","responseTime":6,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4Nn0.NlwUHcRKYxbcYfS0yYP0wMnbxSekF1ombqg75FTbYNw","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"868fa330e31c7e68b9493d143b678adc","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.589898,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Received request.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515386,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4Nn0.NlwUHcRKYxbcYfS0yYP0wMnbxSekF1ombqg75FTbYNw"} 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":"f8a42477350cec2bb9f5bbc73dcce891"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Sent response.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.603619,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515386,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4Nn0.NlwUHcRKYxbcYfS0yYP0wMnbxSekF1ombqg75FTbYNw"} 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":"868fa330e31c7e68b9493d143b678adc"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F266f5e4d-2758-472e-ad8f-5cb3dfa829fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F266f5e4d-2758-472e-ad8f-5cb3dfa829fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:26.173593305Z"}]},"request_id":"d1716c23-40ba-47cc-a241-93b2162efdba","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515386.66322} 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":"f8a42477350cec2bb9f5bbc73dcce891"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0989b55d-6ba0-483a-bd1d-4893f79c9f91","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0989b55d-6ba0-483a-bd1d-4893f79c9f91","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:26.125193365Z"}]},"request_id":"0f7fd68f-2141-4545-9e72-c669b66b6643","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515386.6638858} 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":"868fa330e31c7e68b9493d143b678adc"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"65bd03bf-aa43-4766-a04b-9484e953b58a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515386.6675985} 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":"f8a42477350cec2bb9f5bbc73dcce891"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cecba8aa-0017-4dfd-a941-e9438dc4475a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515386.6689057} 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":"868fa330e31c7e68b9493d143b678adc"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0989b55d-6ba0-483a-bd1d-4893f79c9f91","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0989b55d-6ba0-483a-bd1d-4893f79c9f91","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:26.125193365Z"}]},"request_id":"e12f8222-2a29-4706-a63d-0062db629c45","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515386.6728337} 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":"868fa330e31c7e68b9493d143b678adc"},"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/0989b55d-6ba0-483a-bd1d-4893f79c9f91 200 20ms","method":"PATCH","requestID":"868fa330e31c7e68b9493d143b678adc","responseTime":20,"status":200,"url":"/devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91"} gateway-1 | {"time_local":"09/Jul/2024:08:56:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.029","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"868fa330e31c7e68b9493d143b678adc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4Nn0.NlwUHcRKYxbcYfS0yYP0wMnbxSekF1ombqg75FTbYNw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"29a6b0b259460c97c19e82c87e35ad97","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.691034,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515386,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4Nn0.NlwUHcRKYxbcYfS0yYP0wMnbxSekF1ombqg75FTbYNw"} 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":"29a6b0b259460c97c19e82c87e35ad97"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F266f5e4d-2758-472e-ad8f-5cb3dfa829fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F266f5e4d-2758-472e-ad8f-5cb3dfa829fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:26.173593305Z"}]},"request_id":"7c0dc5d2-87e4-4036-ada8-9853d2acc1eb","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515386.6890771} 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":"f8a42477350cec2bb9f5bbc73dcce891"},"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/266f5e4d-2758-472e-ad8f-5cb3dfa829fd 200 38ms","method":"PATCH","requestID":"f8a42477350cec2bb9f5bbc73dcce891","responseTime":38,"status":200,"url":"/devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd"} gateway-1 | {"time_local":"09/Jul/2024:08:56:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.046","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"f8a42477350cec2bb9f5bbc73dcce891"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4Nn0.NlwUHcRKYxbcYfS0yYP0wMnbxSekF1ombqg75FTbYNw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bfedafbaba9b3be4e03dc2178df046f5","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.678393,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515386,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4Nn0.NlwUHcRKYxbcYfS0yYP0wMnbxSekF1ombqg75FTbYNw"} 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":"bfedafbaba9b3be4e03dc2178df046f5"},"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":"09/Jul/2024:08:56:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91/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":"29a6b0b259460c97c19e82c87e35ad97"} device-1 | {"level":"info","message":"POST /devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91/websocket 200 25ms","method":"POST","requestID":"29a6b0b259460c97c19e82c87e35ad97","responseTime":25,"status":200,"url":"/devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"09/Jul/2024:08:56:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd/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":"bfedafbaba9b3be4e03dc2178df046f5"} device-1 | {"level":"info","message":"POST /devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd/websocket 200 17ms","method":"POST","requestID":"bfedafbaba9b3be4e03dc2178df046f5","responseTime":17,"status":200,"url":"/devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4Nn0.NlwUHcRKYxbcYfS0yYP0wMnbxSekF1ombqg75FTbYNw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5f6717ee1d870c7af5fc0f18ade0f2b6","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.255138,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515386,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4Nn0.NlwUHcRKYxbcYfS0yYP0wMnbxSekF1ombqg75FTbYNw"} 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":"5f6717ee1d870c7af5fc0f18ade0f2b6"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0989b55d-6ba0-483a-bd1d-4893f79c9f91","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0989b55d-6ba0-483a-bd1d-4893f79c9f91","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:26.125193365Z"}]},"request_id":"afe80e18-90a3-4529-a981-2427a792ca67","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515386.7516398} 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":"5f6717ee1d870c7af5fc0f18ade0f2b6"},"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/0989b55d-6ba0-483a-bd1d-4893f79c9f91? 200 17ms","method":"GET","requestID":"5f6717ee1d870c7af5fc0f18ade0f2b6","responseTime":17,"status":200,"url":"/devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91?"} gateway-1 | {"time_local":"09/Jul/2024:08:56:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91? 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":"5f6717ee1d870c7af5fc0f18ade0f2b6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4Nn0.NlwUHcRKYxbcYfS0yYP0wMnbxSekF1ombqg75FTbYNw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"505d6d1a42afad091d7ddb267024250d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.50659,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515386,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4Nn0.NlwUHcRKYxbcYfS0yYP0wMnbxSekF1ombqg75FTbYNw"} 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":"505d6d1a42afad091d7ddb267024250d"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F266f5e4d-2758-472e-ad8f-5cb3dfa829fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F266f5e4d-2758-472e-ad8f-5cb3dfa829fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:26.173593305Z"}]},"request_id":"c650b552-a0b1-4e06-b4cb-5a72084a7e39","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515386.776631} 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":"505d6d1a42afad091d7ddb267024250d"},"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":"09/Jul/2024:08:56:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd? 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":"505d6d1a42afad091d7ddb267024250d"} device-1 | {"level":"info","message":"GET /devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd? 200 18ms","method":"GET","requestID":"505d6d1a42afad091d7ddb267024250d","responseTime":18,"status":200,"url":"/devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4Nn0.NlwUHcRKYxbcYfS0yYP0wMnbxSekF1ombqg75FTbYNw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f2f72c7a71663f04c68892ecdf0fc3c6","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:44070","level":"info","msg":"Received request.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.700103,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515386,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4Nn0.NlwUHcRKYxbcYfS0yYP0wMnbxSekF1ombqg75FTbYNw"} 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":"f2f72c7a71663f04c68892ecdf0fc3c6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3410c8d-f7d1-49a2-bb25-8fd631edcdd9"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3410c8d-f7d1-49a2-bb25-8fd631edcdd9"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3410c8d-f7d1-49a2-bb25-8fd631edcdd9"},"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:44070","level":"info","msg":"Received request.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.270377,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Received request.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515386,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4Nn0.NlwUHcRKYxbcYfS0yYP0wMnbxSekF1ombqg75FTbYNw"} 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":"20224230-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Sent response.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.788597,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515386,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4Nn0.NlwUHcRKYxbcYfS0yYP0wMnbxSekF1ombqg75FTbYNw"} 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":"20229050-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0989b55d-6ba0-483a-bd1d-4893f79c9f91","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0989b55d-6ba0-483a-bd1d-4893f79c9f91","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:26.125193365Z"}]},"request_id":"3ccf2691-bd3a-4b69-9236-f9b6f8e910b1","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515386.8468883} 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":"20224230-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F266f5e4d-2758-472e-ad8f-5cb3dfa829fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F266f5e4d-2758-472e-ad8f-5cb3dfa829fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:26.173593305Z"}]},"request_id":"7a34ab0a-b515-4ff4-964b-cfae5884cad3","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515386.8479214} 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":"20229050-3dd1-11ef-ab4a-87fddd4f273f"},"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/0989b55d-6ba0-483a-bd1d-4893f79c9f91? 200 19ms","method":"GET","requestID":"20224230-3dd1-11ef-ab4a-87fddd4f273f","responseTime":19,"status":200,"url":"/devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd? 200 20ms","method":"GET","requestID":"20229050-3dd1-11ef-ab4a-87fddd4f273f","responseTime":20,"status":200,"url":"/devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3410c8d-f7d1-49a2-bb25-8fd631edcdd9"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3410c8d-f7d1-49a2-bb25-8fd631edcdd9"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3410c8d-f7d1-49a2-bb25-8fd631edcdd9"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3410c8d-f7d1-49a2-bb25-8fd631edcdd9"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3410c8d-f7d1-49a2-bb25-8fd631edcdd9"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3410c8d-f7d1-49a2-bb25-8fd631edcdd9"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3410c8d-f7d1-49a2-bb25-8fd631edcdd9"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3410c8d-f7d1-49a2-bb25-8fd631edcdd9"},"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/a3410c8d-f7d1-49a2-bb25-8fd631edcdd9"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.382902,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515386,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4Nn0.NlwUHcRKYxbcYfS0yYP0wMnbxSekF1ombqg75FTbYNw"} 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":"202d3eb0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Received request.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Sent response.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.626019,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515386,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4Nn0.NlwUHcRKYxbcYfS0yYP0wMnbxSekF1ombqg75FTbYNw"} 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":"202d8cd0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.064375,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0989b55d-6ba0-483a-bd1d-4893f79c9f91","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"487ca5a8-7273-4742-84a1-320973e426e1","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515386.9193244} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91","object_type":"device","rebac_allow":false,"scope_allow":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":"202db3e0-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0989b55d-6ba0-483a-bd1d-4893f79c9f91","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0989b55d-6ba0-483a-bd1d-4893f79c9f91","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:26.125193365Z"}]},"request_id":"0246e0d3-44c3-4fd8-884e-0a7796c36515","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515386.9216118} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F266f5e4d-2758-472e-ad8f-5cb3dfa829fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F266f5e4d-2758-472e-ad8f-5cb3dfa829fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:26.173593305Z"}]},"request_id":"615e6938-b9a2-4c90-b849-1d1d4d5977c3","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515386.9236472} 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":"202d3eb0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} 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":"202d8cd0-3dd1-11ef-ab4a-87fddd4f273f"},"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/0989b55d-6ba0-483a-bd1d-4893f79c9f91/signaling 200 22ms","method":"POST","requestID":"202db3e0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":22,"status":200,"url":"/devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91? 200 27ms","method":"GET","requestID":"202d3eb0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":27,"status":200,"url":"/devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd? 200 26ms","method":"GET","requestID":"202d8cd0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":26,"status":200,"url":"/devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa3410c8d-f7d1-49a2-bb25-8fd631edcdd9#owner@http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa3410c8d-f7d1-49a2-bb25-8fd631edcdd9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"132670b5-444c-4e2d-a6a7-242d469f053b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515386.9379067} 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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a660ae5c-e0f7-464d-aad8-eb6f84587202","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515386.9383955} 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":"f2f72c7a71663f04c68892ecdf0fc3c6"},"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:44070","level":"info","msg":"Received request.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.184836,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Received request.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F266f5e4d-2758-472e-ad8f-5cb3dfa829fd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d0ed3898-0ab4-45ab-81cd-234b69703071","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515386.9440274} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"2031ab80-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0989b55d-6ba0-483a-bd1d-4893f79c9f91","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c3bc1e65-0fdb-4123-a670-886485bccc16","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515386.94801} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Sent response.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.86412,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91","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 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":"203220b0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"POST /devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd/signaling 200 14ms","method":"POST","requestID":"2031ab80-3dd1-11ef-ab4a-87fddd4f273f","responseTime":14,"status":200,"url":"/devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91/signaling 200 14ms","method":"POST","requestID":"203220b0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":14,"status":200,"url":"/devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/a3410c8d-f7d1-49a2-bb25-8fd631edcdd9","user":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"09/Jul/2024:08:56:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.170","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f2f72c7a71663f04c68892ecdf0fc3c6"} experiment-1 | {"level":"info","message":"POST /experiments? 201 163ms","method":"POST","requestID":"f2f72c7a71663f04c68892ecdf0fc3c6","responseTime":163,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4Nn0.NlwUHcRKYxbcYfS0yYP0wMnbxSekF1ombqg75FTbYNw","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:26Z"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3978718c3fe250fe982798568b141e6b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F266f5e4d-2758-472e-ad8f-5cb3dfa829fd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"104de695-6fb5-453a-8000-298cc94d347d","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515386.962733} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.0352,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Received request.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd","object_type":"device","rebac_allow":false,"scope_allow":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":"2034dfd0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:53476","level":"info","msg":"Sent response.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.097923,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515386,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4Nn0.NlwUHcRKYxbcYfS0yYP0wMnbxSekF1ombqg75FTbYNw"} 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":"3978718c3fe250fe982798568b141e6b"},"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/266f5e4d-2758-472e-ad8f-5cb3dfa829fd/signaling 200 12ms","method":"POST","requestID":"2034dfd0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":12,"status":200,"url":"/devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd/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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0989b55d-6ba0-483a-bd1d-4893f79c9f91","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0989b55d-6ba0-483a-bd1d-4893f79c9f91","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:26.125193365Z"}]},"request_id":"191ed87c-2d7b-4a55-ad11-0e2e45ddd7f7","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515386.9699268} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3410c8d-f7d1-49a2-bb25-8fd631edcdd9"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3410c8d-f7d1-49a2-bb25-8fd631edcdd9"},"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":"5bbc5b64-a0b6-4d6c-a510-d56583275618"},{"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":"2546ca2f-c7b2-4413-afb9-a81e70ea8c9f"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"843d34a5-ea42-4203-a46f-32915c2b54f4"}]},"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/0989b55d-6ba0-483a-bd1d-4893f79c9f91"},{"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/266f5e4d-2758-472e-ad8f-5cb3dfa829fd"}],"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":"3978718c3fe250fe982798568b141e6b"},"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"} gateway-1 | {"time_local":"09/Jul/2024:08:56:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91? 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":"3978718c3fe250fe982798568b141e6b"} device-1 | {"level":"info","message":"GET /devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91? 200 14ms","method":"GET","requestID":"3978718c3fe250fe982798568b141e6b","responseTime":14,"status":200,"url":"/devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91?"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.328006,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515386,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4Nn0.NlwUHcRKYxbcYfS0yYP0wMnbxSekF1ombqg75FTbYNw"} 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":"203750d0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4Nn0.NlwUHcRKYxbcYfS0yYP0wMnbxSekF1ombqg75FTbYNw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5d741e45c603aa2ee9ec16d3a66ccc09","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.941,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515386,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4Nn0.NlwUHcRKYxbcYfS0yYP0wMnbxSekF1ombqg75FTbYNw"} 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":"5d741e45c603aa2ee9ec16d3a66ccc09"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","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%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"78192821-abfb-49ef-ae31-1d1ef91a0037","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515386.9881892} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dbdeef61-2421-4bd5-bc95-16a1d2cd587c","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515386.9884965} 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":"203750d0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F266f5e4d-2758-472e-ad8f-5cb3dfa829fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F266f5e4d-2758-472e-ad8f-5cb3dfa829fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:26.173593305Z"}]},"request_id":"174008e9-da06-41ae-9647-6f5bcb0f37fb","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515386.990237} 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":"5d741e45c603aa2ee9ec16d3a66ccc09"},"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":"09/Jul/2024:08:56:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd? 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":"5d741e45c603aa2ee9ec16d3a66ccc09"} device-1 | {"level":"info","message":"GET /devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd? 200 20ms","method":"GET","requestID":"5d741e45c603aa2ee9ec16d3a66ccc09","responseTime":20,"status":200,"url":"/devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd?"} 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/acbbe8b1-e3b0-4c0c-8bd6-354422f336ec'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/acbbe8b1-e3b0-4c0c-8bd6-354422f336ec'"} 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 30ms","method":"POST","requestID":"203750d0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":30,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3410c8d-f7d1-49a2-bb25-8fd631edcdd9"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:27Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0989b55d-6ba0-483a-bd1d-4893f79c9f91","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1d04daf0-8b75-4320-bf44-dd10e8619b7d","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515387.0348265} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.378984,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91","object_type":"device","rebac_allow":false,"scope_allow":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":"20400360-3dd1-11ef-ab4a-87fddd4f273f"},"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/0989b55d-6ba0-483a-bd1d-4893f79c9f91/signaling 200 8ms","method":"POST","requestID":"20400360-3dd1-11ef-ab4a-87fddd4f273f","responseTime":8,"status":200,"url":"/devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:27Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F266f5e4d-2758-472e-ad8f-5cb3dfa829fd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f2f7ff3d-1626-444c-92ae-1bde5fab341b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515387.0453691} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.555194,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd","object_type":"device","rebac_allow":false,"scope_allow":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":"2041b110-3dd1-11ef-ab4a-87fddd4f273f"},"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/266f5e4d-2758-472e-ad8f-5cb3dfa829fd/signaling 200 8ms","method":"POST","requestID":"2041b110-3dd1-11ef-ab4a-87fddd4f273f","responseTime":8,"status":200,"url":"/devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd/signaling"} device-1 | {"data":{"peerconnection":"acbbe8b1-e3b0-4c0c-8bd6-354422f336ec","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"acbbe8b1-e3b0-4c0c-8bd6-354422f336ec","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/acbbe8b1-e3b0-4c0c-8bd6-354422f336ec' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"acbbe8b1-e3b0-4c0c-8bd6-354422f336ec","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":"43f35f0d235f17732a40f90180e65fdb","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/0989b55d-6ba0-483a-bd1d-4893f79c9f91"},{"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/266f5e4d-2758-472e-ad8f-5cb3dfa829fd"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/acbbe8b1-e3b0-4c0c-8bd6-354422f336ec"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"43f35f0d235f17732a40f90180e65fdb","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:56: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.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"43f35f0d235f17732a40f90180e65fdb"} device-1 | {"data":{"peerconnection":"acbbe8b1-e3b0-4c0c-8bd6-354422f336ec","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"acbbe8b1-e3b0-4c0c-8bd6-354422f336ec","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/acbbe8b1-e3b0-4c0c-8bd6-354422f336ec' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"acbbe8b1-e3b0-4c0c-8bd6-354422f336ec","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":"31ad8084e2b5d8453ddb7243309ac53c","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91"},{"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/266f5e4d-2758-472e-ad8f-5cb3dfa829fd"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/acbbe8b1-e3b0-4c0c-8bd6-354422f336ec"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:29Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Facbbe8b1-e3b0-4c0c-8bd6-354422f336ec","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"74de121b-1f30-4cc9-8470-18fb30a899fe","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515389.1285145} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.478658,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/acbbe8b1-e3b0-4c0c-8bd6-354422f336ec","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/acbbe8b1-e3b0-4c0c-8bd6-354422f336ec","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":"217f3a20-3dd1-11ef-ab4a-87fddd4f273f"},"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/acbbe8b1-e3b0-4c0c-8bd6-354422f336ec 200 11ms","method":"GET","requestID":"217f3a20-3dd1-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/peerconnections/acbbe8b1-e3b0-4c0c-8bd6-354422f336ec"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 44ms","method":"POST","requestID":"31ad8084e2b5d8453ddb7243309ac53c","responseTime":44,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:56: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.049","http_referrer":"","http_user_agent":"node-fetch","requestID":"31ad8084e2b5d8453ddb7243309ac53c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:29Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0989b55d-6ba0-483a-bd1d-4893f79c9f91","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"084f6440-5f83-45be-b5f1-f901aae7137d","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515389.1668618} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.862844,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"21850680-3dd1-11ef-ab4a-87fddd4f273f"},"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/0989b55d-6ba0-483a-bd1d-4893f79c9f91/signaling 200 13ms","method":"POST","requestID":"21850680-3dd1-11ef-ab4a-87fddd4f273f","responseTime":13,"status":200,"url":"/devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:29Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F266f5e4d-2758-472e-ad8f-5cb3dfa829fd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9edba451-c168-4b4b-8c6e-5438aff11546","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515389.1822546} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.821994,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"21877780-3dd1-11ef-ab4a-87fddd4f273f"},"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/266f5e4d-2758-472e-ad8f-5cb3dfa829fd/signaling 200 12ms","method":"POST","requestID":"21877780-3dd1-11ef-ab4a-87fddd4f273f","responseTime":12,"status":200,"url":"/devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4OX0.f6e1ya3LrUs9KJESi6DTSACAArQStEoEaNkrf5m7XYg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"2eb7cb537c7ad5b9d21f57f0ceb1f71a","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a3410c8d-f7d1-49a2-bb25-8fd631edcdd9"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:29Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.278205,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a3410c8d-f7d1-49a2-bb25-8fd631edcdd9","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/a3410c8d-f7d1-49a2-bb25-8fd631edcdd9","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515389,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4OX0.f6e1ya3LrUs9KJESi6DTSACAArQStEoEaNkrf5m7XYg"} 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":"2eb7cb537c7ad5b9d21f57f0ceb1f71a"},"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/a3410c8d-f7d1-49a2-bb25-8fd631edcdd9"} gateway-1 | {"time_local":"09/Jul/2024:08:56:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a3410c8d-f7d1-49a2-bb25-8fd631edcdd9 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":"2eb7cb537c7ad5b9d21f57f0ceb1f71a"} experiment-1 | {"level":"info","message":"GET /experiments/a3410c8d-f7d1-49a2-bb25-8fd631edcdd9 200 15ms","method":"GET","requestID":"2eb7cb537c7ad5b9d21f57f0ceb1f71a","responseTime":15,"status":200,"url":"/experiments/a3410c8d-f7d1-49a2-bb25-8fd631edcdd9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4OX0.f6e1ya3LrUs9KJESi6DTSACAArQStEoEaNkrf5m7XYg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"67b4df9a8a1cadb451dcffc18e9d7b1c","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/a3410c8d-f7d1-49a2-bb25-8fd631edcdd9"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:29Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.325978,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:29Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a3410c8d-f7d1-49a2-bb25-8fd631edcdd9","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/a3410c8d-f7d1-49a2-bb25-8fd631edcdd9","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515389,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4OX0.f6e1ya3LrUs9KJESi6DTSACAArQStEoEaNkrf5m7XYg"} 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":"67b4df9a8a1cadb451dcffc18e9d7b1c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3410c8d-f7d1-49a2-bb25-8fd631edcdd9"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:29Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.224033,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:29Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/acbbe8b1-e3b0-4c0c-8bd6-354422f336ec","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:http://localhost/peerconnections/acbbe8b1-e3b0-4c0c-8bd6-354422f336ec","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515389,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4OX0.f6e1ya3LrUs9KJESi6DTSACAArQStEoEaNkrf5m7XYg"} 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":"21924cf0-3dd1-11ef-ab4a-87fddd4f273f"},"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/acbbe8b1-e3b0-4c0c-8bd6-354422f336ec' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/acbbe8b1-e3b0-4c0c-8bd6-354422f336ec' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"acbbe8b1-e3b0-4c0c-8bd6-354422f336ec","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Facbbe8b1-e3b0-4c0c-8bd6-354422f336ec': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Facbbe8b1-e3b0-4c0c-8bd6-354422f336ec","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"7472aab0-d0f4-43c6-9227-df93279687e0","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515389.2709656} 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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1aaf00bf-64e7-4f5e-956e-a5f32522a809","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515389.271756} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0a6d2a635852067bbb464852e7f1b06d","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":"21924cf0-3dd1-11ef-ab4a-87fddd4f273f"},"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-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/0989b55d-6ba0-483a-bd1d-4893f79c9f91"},{"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/266f5e4d-2758-472e-ad8f-5cb3dfa829fd"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/acbbe8b1-e3b0-4c0c-8bd6-354422f336ec"}}},"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":"a3662711b2cdd3fac4759141c5399311","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":"connected","url":"http://localhost/devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91"},{"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/266f5e4d-2758-472e-ad8f-5cb3dfa829fd"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/acbbe8b1-e3b0-4c0c-8bd6-354422f336ec"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"acbbe8b1-e3b0-4c0c-8bd6-354422f336ec","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/acbbe8b1-e3b0-4c0c-8bd6-354422f336ec 204 46ms","method":"DELETE","requestID":"21924cf0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":46,"status":204,"url":"/peerconnections/acbbe8b1-e3b0-4c0c-8bd6-354422f336ec"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3410c8d-f7d1-49a2-bb25-8fd631edcdd9"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:29Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0989b55d-6ba0-483a-bd1d-4893f79c9f91","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e932003c-6b29-4793-b1eb-f019b36d6cfa","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515389.3215601} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.269537,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"219cd440-3dd1-11ef-ab4a-87fddd4f273f"},"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/0989b55d-6ba0-483a-bd1d-4893f79c9f91/signaling 200 12ms","method":"POST","requestID":"219cd440-3dd1-11ef-ab4a-87fddd4f273f","responseTime":12,"status":200,"url":"/devices/0989b55d-6ba0-483a-bd1d-4893f79c9f91/signaling"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa3410c8d-f7d1-49a2-bb25-8fd631edcdd9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa3410c8d-f7d1-49a2-bb25-8fd631edcdd9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"bb6637c1-f9d7-410b-930a-a1473b13caad","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515389.3284802} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8549bd63-ff74-4fcf-95a7-12719cbf0e4a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515389.32871} 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":"67b4df9a8a1cadb451dcffc18e9d7b1c"},"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:44070","level":"info","msg":"Received request.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:29Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F266f5e4d-2758-472e-ad8f-5cb3dfa829fd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"137b030b-712e-421c-93ed-48eb2b7d5c26","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515389.3365505} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.243224,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"219ef720-3dd1-11ef-ab4a-87fddd4f273f"},"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/266f5e4d-2758-472e-ad8f-5cb3dfa829fd/signaling 200 13ms","method":"POST","requestID":"219ef720-3dd1-11ef-ab4a-87fddd4f273f","responseTime":13,"status":200,"url":"/devices/266f5e4d-2758-472e-ad8f-5cb3dfa829fd/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/a3410c8d-f7d1-49a2-bb25-8fd631edcdd9"} gateway-1 | {"time_local":"09/Jul/2024:08:56:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/a3410c8d-f7d1-49a2-bb25-8fd631edcdd9 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":"67b4df9a8a1cadb451dcffc18e9d7b1c"} gateway-1 | {"time_local":"09/Jul/2024:08:56:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2709","request_time":"2.684","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"5780ef38c77f2c379a47fdf79661cc5d"} experiment-1 | {"level":"info","message":"DELETE /experiments/a3410c8d-f7d1-49a2-bb25-8fd631edcdd9 204 161ms","method":"DELETE","requestID":"67b4df9a8a1cadb451dcffc18e9d7b1c","responseTime":161,"status":204,"url":"/experiments/a3410c8d-f7d1-49a2-bb25-8fd631edcdd9"} gateway-1 | {"time_local":"09/Jul/2024:08:56:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2707","request_time":"2.673","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"e9c53e12205a151f12835b35d5ce3292"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 121ms","method":"POST","requestID":"0a6d2a635852067bbb464852e7f1b06d","responseTime":121,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:56: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.126","http_referrer":"","http_user_agent":"node-fetch","requestID":"0a6d2a635852067bbb464852e7f1b06d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 119ms","method":"POST","requestID":"a3662711b2cdd3fac4759141c5399311","responseTime":119,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:56: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.126","http_referrer":"","http_user_agent":"node-fetch","requestID":"a3662711b2cdd3fac4759141c5399311"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4OX0.f6e1ya3LrUs9KJESi6DTSACAArQStEoEaNkrf5m7XYg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fbcc5e289de915b12a84ab87bda6ad7b","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/266f5e4d-2758-472e-ad8f-5cb3dfa829fd' closed"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:29Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.043108,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515389,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4OX0.f6e1ya3LrUs9KJESi6DTSACAArQStEoEaNkrf5m7XYg"} 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":"fbcc5e289de915b12a84ab87bda6ad7b"},"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/0989b55d-6ba0-483a-bd1d-4893f79c9f91' 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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F092a6e1e-a6e9-4629-a127-9b8f31e684fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"26fc95ca-2f45-4b3f-90f4-53a114fd6fac","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515389.4190054} 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":"fbcc5e289de915b12a84ab87bda6ad7b"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4aa285de-d40c-4abc-b26d-625e36d8f207","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515389.4244478} 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":"fbcc5e289de915b12a84ab87bda6ad7b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F092a6e1e-a6e9-4629-a127-9b8f31e684fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"f37a22f8-d2e4-474a-ac71-54a70760355b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515389.4346716} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"792b1df3-4fc5-42ee-9fce-c24462de2618","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515389.434787} 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":"fbcc5e289de915b12a84ab87bda6ad7b"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F092a6e1e-a6e9-4629-a127-9b8f31e684fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F092a6e1e-a6e9-4629-a127-9b8f31e684fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:29.434630673Z"}]},"request_id":"1a01eaff-107c-42e4-b25a-4cdd7444ed08","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515389.4403732} 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":"fbcc5e289de915b12a84ab87bda6ad7b"},"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":"09/Jul/2024:08:56: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.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fbcc5e289de915b12a84ab87bda6ad7b"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"fbcc5e289de915b12a84ab87bda6ad7b","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4OX0.f6e1ya3LrUs9KJESi6DTSACAArQStEoEaNkrf5m7XYg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b8309d3ed3c97016856b4e98c6e6fde0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:29Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.764439,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515389,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM4OX0.f6e1ya3LrUs9KJESi6DTSACAArQStEoEaNkrf5m7XYg"} 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":"b8309d3ed3c97016856b4e98c6e6fde0"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5440c85f-72e4-4153-b8a5-dd67d8260e35","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5c7ea909-0d61-4d7d-bb30-017c26153174","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515389.465223} 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":"b8309d3ed3c97016856b4e98c6e6fde0"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"75ff6068-3515-4489-8682-3c8ebfc79333","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515389.4707208} 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":"b8309d3ed3c97016856b4e98c6e6fde0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5440c85f-72e4-4153-b8a5-dd67d8260e35","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"eaabc373-7044-47a6-90bd-2b62acfb1c53","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515389.4867182} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cb4d4893-6348-4eb9-94a9-4e74bf74c74f","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515389.4870248} 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":"b8309d3ed3c97016856b4e98c6e6fde0"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5440c85f-72e4-4153-b8a5-dd67d8260e35","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5440c85f-72e4-4153-b8a5-dd67d8260e35","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:29.486688648Z"}]},"request_id":"1e034040-77c0-4077-a7be-8a976cc5854f","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515389.4915755} 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":"b8309d3ed3c97016856b4e98c6e6fde0"},"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":"09/Jul/2024:08:56: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.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b8309d3ed3c97016856b4e98c6e6fde0"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"b8309d3ed3c97016856b4e98c6e6fde0","responseTime":45,"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":"9daefad3e184185672490d9f43b2e473","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"09/Jul/2024:08:56:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/5440c85f-72e4-4153-b8a5-dd67d8260e35/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":"9daefad3e184185672490d9f43b2e473"} device-1 | {"level":"info","message":"OPTIONS /devices/5440c85f-72e4-4153-b8a5-dd67d8260e35/websocket 200 1ms","method":"OPTIONS","requestID":"9daefad3e184185672490d9f43b2e473","responseTime":1,"status":200,"url":"/devices/5440c85f-72e4-4153-b8a5-dd67d8260e35/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5MX0.FQSLYCnbI1agAPQWfjEkOJrUO_a4NcB6NfD36s6axvU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d54a3105c6708bdcc55a4e8d70064e4b","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.92073,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:31Z"} 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":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5440c85f-72e4-4153-b8a5-dd67d8260e35","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/5440c85f-72e4-4153-b8a5-dd67d8260e35","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515391,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5MX0.FQSLYCnbI1agAPQWfjEkOJrUO_a4NcB6NfD36s6axvU"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4ecc00a31ebfbfe62bc2a9dcb9ab16a1","responseTime":1,"status":200,"url":"/auth"} 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":"d54a3105c6708bdcc55a4e8d70064e4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} gateway-1 | {"time_local":"09/Jul/2024:08:56:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd/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":"4ecc00a31ebfbfe62bc2a9dcb9ab16a1"} device-1 | {"level":"info","message":"OPTIONS /devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd/websocket 200 1ms","method":"OPTIONS","requestID":"4ecc00a31ebfbfe62bc2a9dcb9ab16a1","responseTime":1,"status":200,"url":"/devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5MX0.FQSLYCnbI1agAPQWfjEkOJrUO_a4NcB6NfD36s6axvU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f74d15aed25fd550d34a007506ff0cd4","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"09/Jul/2024:08:56:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5440c85f-72e4-4153-b8a5-dd67d8260e35/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.024","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d54a3105c6708bdcc55a4e8d70064e4b"} device-1 | {"level":"info","message":"POST /devices/5440c85f-72e4-4153-b8a5-dd67d8260e35/websocket 200 17ms","method":"POST","requestID":"d54a3105c6708bdcc55a4e8d70064e4b","responseTime":17,"status":200,"url":"/devices/5440c85f-72e4-4153-b8a5-dd67d8260e35/websocket"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.040923,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515391,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5MX0.FQSLYCnbI1agAPQWfjEkOJrUO_a4NcB6NfD36s6axvU"} 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":"f74d15aed25fd550d34a007506ff0cd4"},"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/092a6e1e-a6e9-4629-a127-9b8f31e684fd/websocket 200 16ms","method":"POST","requestID":"f74d15aed25fd550d34a007506ff0cd4","responseTime":16,"status":200,"url":"/devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd/websocket"} gateway-1 | {"time_local":"09/Jul/2024:08:56:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd/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":"f74d15aed25fd550d34a007506ff0cd4"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5440c85f-72e4-4153-b8a5-dd67d8260e35' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5MX0.FQSLYCnbI1agAPQWfjEkOJrUO_a4NcB6NfD36s6axvU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9b56c2a139ee3809ebdaa7c2a2b0f6d0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.806469,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515391,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5MX0.FQSLYCnbI1agAPQWfjEkOJrUO_a4NcB6NfD36s6axvU"} 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":"9b56c2a139ee3809ebdaa7c2a2b0f6d0"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F092a6e1e-a6e9-4629-a127-9b8f31e684fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F092a6e1e-a6e9-4629-a127-9b8f31e684fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:29.434630673Z"}]},"request_id":"e1bc9aeb-82b2-4877-860a-c49d4d6ccc47","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515391.510106} 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":"9b56c2a139ee3809ebdaa7c2a2b0f6d0"},"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/092a6e1e-a6e9-4629-a127-9b8f31e684fd? 200 12ms","method":"GET","requestID":"9b56c2a139ee3809ebdaa7c2a2b0f6d0","responseTime":12,"status":200,"url":"/devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd?"} gateway-1 | {"time_local":"09/Jul/2024:08:56:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd? 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":"9b56c2a139ee3809ebdaa7c2a2b0f6d0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5MX0.FQSLYCnbI1agAPQWfjEkOJrUO_a4NcB6NfD36s6axvU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d237ab1f367628f980cdd788a72e7a5a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.809597,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5440c85f-72e4-4153-b8a5-dd67d8260e35","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/5440c85f-72e4-4153-b8a5-dd67d8260e35","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515391,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5MX0.FQSLYCnbI1agAPQWfjEkOJrUO_a4NcB6NfD36s6axvU"} 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":"d237ab1f367628f980cdd788a72e7a5a"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5440c85f-72e4-4153-b8a5-dd67d8260e35","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5440c85f-72e4-4153-b8a5-dd67d8260e35","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:29.486688648Z"}]},"request_id":"0381f11c-7ebd-489c-836e-1f00db4123e6","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515391.5282128} 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":"d237ab1f367628f980cdd788a72e7a5a"},"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":"09/Jul/2024:08:56:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5440c85f-72e4-4153-b8a5-dd67d8260e35? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d237ab1f367628f980cdd788a72e7a5a"} device-1 | {"level":"info","message":"GET /devices/5440c85f-72e4-4153-b8a5-dd67d8260e35? 200 10ms","method":"GET","requestID":"d237ab1f367628f980cdd788a72e7a5a","responseTime":10,"status":200,"url":"/devices/5440c85f-72e4-4153-b8a5-dd67d8260e35?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5MX0.FQSLYCnbI1agAPQWfjEkOJrUO_a4NcB6NfD36s6axvU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ab7b558993e72396c5f36e0c9bba0505","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:44070","level":"info","msg":"Received request.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.6249,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515391,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5MX0.FQSLYCnbI1agAPQWfjEkOJrUO_a4NcB6NfD36s6axvU"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","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":"ab7b558993e72396c5f36e0c9bba0505"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5be9619e-032f-4c7a-ad32-327bd6138509"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5be9619e-032f-4c7a-ad32-327bd6138509"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5be9619e-032f-4c7a-ad32-327bd6138509"},"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:44070","level":"info","msg":"Received request.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.96388,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515391,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5MX0.FQSLYCnbI1agAPQWfjEkOJrUO_a4NcB6NfD36s6axvU"} 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":"22f47500-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:50644","level":"info","msg":"Received request.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"client_addr":"127.0.0.1:50644","level":"info","msg":"Sent response.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.999237,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5440c85f-72e4-4153-b8a5-dd67d8260e35","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/5440c85f-72e4-4153-b8a5-dd67d8260e35","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515391,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5MX0.FQSLYCnbI1agAPQWfjEkOJrUO_a4NcB6NfD36s6axvU"} 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":"22f4c320-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F092a6e1e-a6e9-4629-a127-9b8f31e684fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F092a6e1e-a6e9-4629-a127-9b8f31e684fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:29.434630673Z"}]},"request_id":"9aa0de19-b0ae-4b36-88eb-7017fb4f1a1a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515391.5762196} 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":"22f47500-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5440c85f-72e4-4153-b8a5-dd67d8260e35","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5440c85f-72e4-4153-b8a5-dd67d8260e35","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:29.486688648Z"}]},"request_id":"868d98d4-72e2-4a5e-bf56-1a0c2b7b0fe5","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515391.579099} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd? 200 11ms","method":"GET","requestID":"22f47500-3dd1-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd?"} 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":"22f4c320-3dd1-11ef-ab4a-87fddd4f273f"},"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/5440c85f-72e4-4153-b8a5-dd67d8260e35? 200 12ms","method":"GET","requestID":"22f4c320-3dd1-11ef-ab4a-87fddd4f273f","responseTime":12,"status":200,"url":"/devices/5440c85f-72e4-4153-b8a5-dd67d8260e35?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5be9619e-032f-4c7a-ad32-327bd6138509"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5be9619e-032f-4c7a-ad32-327bd6138509"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5be9619e-032f-4c7a-ad32-327bd6138509"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5be9619e-032f-4c7a-ad32-327bd6138509"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5be9619e-032f-4c7a-ad32-327bd6138509"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5be9619e-032f-4c7a-ad32-327bd6138509"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5be9619e-032f-4c7a-ad32-327bd6138509"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5be9619e-032f-4c7a-ad32-327bd6138509"},"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:44070","level":"info","msg":"Received request.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.666615,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"client_addr":"127.0.0.1:50644","level":"info","msg":"Received request.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:31Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5be9619e-032f-4c7a-ad32-327bd6138509"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515391,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5MX0.FQSLYCnbI1agAPQWfjEkOJrUO_a4NcB6NfD36s6axvU"} 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":"22fdeae0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:50644","level":"info","msg":"Sent response.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.64384,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5440c85f-72e4-4153-b8a5-dd67d8260e35","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/5440c85f-72e4-4153-b8a5-dd67d8260e35","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515391,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5MX0.FQSLYCnbI1agAPQWfjEkOJrUO_a4NcB6NfD36s6axvU"} 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":"22fe3900-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.493379,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F092a6e1e-a6e9-4629-a127-9b8f31e684fd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"524f0ca0-1ce7-401d-bf71-06d719045a90","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515391.6398215} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd","object_type":"device","rebac_allow":false,"scope_allow":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":"22fe8720-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5440c85f-72e4-4153-b8a5-dd67d8260e35","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5440c85f-72e4-4153-b8a5-dd67d8260e35","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:29.486688648Z"}]},"request_id":"ae33e2b3-b43c-4c5b-aaf0-cf22bbf40fd6","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515391.6408505} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} 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":"22fe3900-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"POST /devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd/signaling 200 9ms","method":"POST","requestID":"22fe8720-3dd1-11ef-ab4a-87fddd4f273f","responseTime":9,"status":200,"url":"/devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd/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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F092a6e1e-a6e9-4629-a127-9b8f31e684fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F092a6e1e-a6e9-4629-a127-9b8f31e684fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:29.434630673Z"}]},"request_id":"7a0ba15d-1f93-4da9-9340-e679fe3ec08b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515391.6432683} 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":"22fdeae0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:31Z"} device-1 | {"level":"info","message":"GET /devices/5440c85f-72e4-4153-b8a5-dd67d8260e35? 200 19ms","method":"GET","requestID":"22fe3900-3dd1-11ef-ab4a-87fddd4f273f","responseTime":19,"status":200,"url":"/devices/5440c85f-72e4-4153-b8a5-dd67d8260e35?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd? 200 22ms","method":"GET","requestID":"22fdeae0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":22,"status":200,"url":"/devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5440c85f-72e4-4153-b8a5-dd67d8260e35","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f957f90e-d35d-4090-88e8-a42cef5c9d28","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515391.6542006} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.158817,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5440c85f-72e4-4153-b8a5-dd67d8260e35","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5440c85f-72e4-4153-b8a5-dd67d8260e35","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"230082f0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5be9619e-032f-4c7a-ad32-327bd6138509#owner@http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5be9619e-032f-4c7a-ad32-327bd6138509","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"5f445d2a-894d-4178-8d34-4e5549ab0875","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515391.6551712} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2404c6bf-bd4f-48c3-9c2a-5adf342ca6cb","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515391.655469} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/5440c85f-72e4-4153-b8a5-dd67d8260e35/signaling 200 10ms","method":"POST","requestID":"230082f0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/devices/5440c85f-72e4-4153-b8a5-dd67d8260e35/signaling"} 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":"ab7b558993e72396c5f36e0c9bba0505"},"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:44070","level":"info","msg":"Received request.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F092a6e1e-a6e9-4629-a127-9b8f31e684fd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e65414cf-0fb8-48ec-a284-ae9bb7e4aea6","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515391.6609282} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.408339,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"23019460-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/5be9619e-032f-4c7a-ad32-327bd6138509","user":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"POST /devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd/signaling 200 12ms","method":"POST","requestID":"23019460-3dd1-11ef-ab4a-87fddd4f273f","responseTime":12,"status":200,"url":"/devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd/signaling"} experiment-1 | {"level":"info","message":"POST /experiments? 201 129ms","method":"POST","requestID":"ab7b558993e72396c5f36e0c9bba0505","responseTime":129,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"09/Jul/2024:08:56: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.133","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ab7b558993e72396c5f36e0c9bba0505"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5MX0.FQSLYCnbI1agAPQWfjEkOJrUO_a4NcB6NfD36s6axvU","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:31Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"725b1ae6eaf5f2d9ec30bb24c7e0cfb6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5440c85f-72e4-4153-b8a5-dd67d8260e35","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f647310c-e662-41ca-a17b-230c029d9f41","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515391.6742394} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.972293,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"client_addr":"127.0.0.1:50644","level":"info","msg":"Received request.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5440c85f-72e4-4153-b8a5-dd67d8260e35","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5440c85f-72e4-4153-b8a5-dd67d8260e35","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"2303de50-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:50644","level":"info","msg":"Sent response.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.761948,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515391,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5MX0.FQSLYCnbI1agAPQWfjEkOJrUO_a4NcB6NfD36s6axvU"} 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":"725b1ae6eaf5f2d9ec30bb24c7e0cfb6"},"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/5440c85f-72e4-4153-b8a5-dd67d8260e35/signaling 200 10ms","method":"POST","requestID":"2303de50-3dd1-11ef-ab4a-87fddd4f273f","responseTime":10,"status":200,"url":"/devices/5440c85f-72e4-4153-b8a5-dd67d8260e35/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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F092a6e1e-a6e9-4629-a127-9b8f31e684fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F092a6e1e-a6e9-4629-a127-9b8f31e684fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:29.434630673Z"}]},"request_id":"7e0e3ca4-316a-4a09-a13e-92b0d8caf734","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515391.6801808} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5be9619e-032f-4c7a-ad32-327bd6138509"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5be9619e-032f-4c7a-ad32-327bd6138509"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"94ae7135-b141-4738-b908-519cf5163b36"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"448f5648-2841-4acb-8fed-ac9836f84101"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"36d3ac48-6574-4284-8f58-afd5bcaae724"}]},"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/092a6e1e-a6e9-4629-a127-9b8f31e684fd"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/5440c85f-72e4-4153-b8a5-dd67d8260e35"}],"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":"725b1ae6eaf5f2d9ec30bb24c7e0cfb6"},"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"} gateway-1 | {"time_local":"09/Jul/2024:08:56:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd? 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":"725b1ae6eaf5f2d9ec30bb24c7e0cfb6"} device-1 | {"level":"info","message":"GET /devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd? 200 12ms","method":"GET","requestID":"725b1ae6eaf5f2d9ec30bb24c7e0cfb6","responseTime":12,"status":200,"url":"/devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd?"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.701944,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515391,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5MX0.FQSLYCnbI1agAPQWfjEkOJrUO_a4NcB6NfD36s6axvU"} 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":"2305da20-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5MX0.FQSLYCnbI1agAPQWfjEkOJrUO_a4NcB6NfD36s6axvU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dbc13f2ffa9003807318a7c7432bf2cb","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.919092,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5440c85f-72e4-4153-b8a5-dd67d8260e35","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/5440c85f-72e4-4153-b8a5-dd67d8260e35","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515391,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5MX0.FQSLYCnbI1agAPQWfjEkOJrUO_a4NcB6NfD36s6axvU"} 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":"dbc13f2ffa9003807318a7c7432bf2cb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","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%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"272e94bd-a25c-4c1a-8e2c-1a4880aec1fc","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515391.6932495} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6ac0eb20-62ae-4747-8480-597e1e75e206","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515391.693578} 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":"2305da20-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5440c85f-72e4-4153-b8a5-dd67d8260e35","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5440c85f-72e4-4153-b8a5-dd67d8260e35","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:29.486688648Z"}]},"request_id":"143279ad-8536-4016-ade3-d04c632e33fc","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515391.6972575} 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":"dbc13f2ffa9003807318a7c7432bf2cb"},"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/d4107e23-fcd5-4894-a3fe-640f67be6729'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/d4107e23-fcd5-4894-a3fe-640f67be6729'"} 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 26ms","method":"POST","requestID":"2305da20-3dd1-11ef-ab4a-87fddd4f273f","responseTime":26,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/5440c85f-72e4-4153-b8a5-dd67d8260e35? 200 19ms","method":"GET","requestID":"dbc13f2ffa9003807318a7c7432bf2cb","responseTime":19,"status":200,"url":"/devices/5440c85f-72e4-4153-b8a5-dd67d8260e35?"} gateway-1 | {"time_local":"09/Jul/2024:08:56:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5440c85f-72e4-4153-b8a5-dd67d8260e35? 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":"dbc13f2ffa9003807318a7c7432bf2cb"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5be9619e-032f-4c7a-ad32-327bd6138509"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F092a6e1e-a6e9-4629-a127-9b8f31e684fd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b389d7ac-9ca5-4454-b313-4777eef9e688","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515391.734976} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.271872,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd","object_type":"device","rebac_allow":false,"scope_allow":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":"230d5430-3dd1-11ef-ab4a-87fddd4f273f"},"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/092a6e1e-a6e9-4629-a127-9b8f31e684fd/signaling 200 8ms","method":"POST","requestID":"230d5430-3dd1-11ef-ab4a-87fddd4f273f","responseTime":8,"status":200,"url":"/devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5440c85f-72e4-4153-b8a5-dd67d8260e35","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5dffaabe-a968-4e57-806f-3ee6c9eed76a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515391.7462084} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.244713,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5440c85f-72e4-4153-b8a5-dd67d8260e35","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5440c85f-72e4-4153-b8a5-dd67d8260e35","object_type":"device","rebac_allow":false,"scope_allow":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":"230edad0-3dd1-11ef-ab4a-87fddd4f273f"},"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/5440c85f-72e4-4153-b8a5-dd67d8260e35/signaling 200 9ms","method":"POST","requestID":"230edad0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":9,"status":200,"url":"/devices/5440c85f-72e4-4153-b8a5-dd67d8260e35/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/5440c85f-72e4-4153-b8a5-dd67d8260e35'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/d4107e23-fcd5-4894-a3fe-640f67be6729' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d4107e23-fcd5-4894-a3fe-640f67be6729","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/5440c85f-72e4-4153-b8a5-dd67d8260e35"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/d4107e23-fcd5-4894-a3fe-640f67be6729"}}},"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 1ms","method":"GET","requestID":"adc7c7edf2ac93c00ccf67022ed51f10","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"adc7c7edf2ac93c00ccf67022ed51f10","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:56:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"adc7c7edf2ac93c00ccf67022ed51f10"} device-1 | {"data":{"peerconnection":"d4107e23-fcd5-4894-a3fe-640f67be6729","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"d4107e23-fcd5-4894-a3fe-640f67be6729","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/d4107e23-fcd5-4894-a3fe-640f67be6729' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d4107e23-fcd5-4894-a3fe-640f67be6729","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":"2ebf4e124a231d5a9d624eedf73fb1fd","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5440c85f-72e4-4153-b8a5-dd67d8260e35"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/d4107e23-fcd5-4894-a3fe-640f67be6729"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd4107e23-fcd5-4894-a3fe-640f67be6729","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a42d9173-596b-47b8-81db-91e9530d1c78","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515391.8164682} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.012606,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d4107e23-fcd5-4894-a3fe-640f67be6729","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/d4107e23-fcd5-4894-a3fe-640f67be6729","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 3ms","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":"2319b040-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/d4107e23-fcd5-4894-a3fe-640f67be6729 200 7ms","method":"GET","requestID":"2319b040-3dd1-11ef-ab4a-87fddd4f273f","responseTime":7,"status":200,"url":"/peerconnections/d4107e23-fcd5-4894-a3fe-640f67be6729"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 23ms","method":"POST","requestID":"2ebf4e124a231d5a9d624eedf73fb1fd","responseTime":23,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:56: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.026","http_referrer":"","http_user_agent":"node-fetch","requestID":"2ebf4e124a231d5a9d624eedf73fb1fd"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F092a6e1e-a6e9-4629-a127-9b8f31e684fd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4e12c7db-aa70-45d0-8605-03ff6d85c58b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515391.837253} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.220321,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"231cbd80-3dd1-11ef-ab4a-87fddd4f273f"},"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/092a6e1e-a6e9-4629-a127-9b8f31e684fd/signaling 200 8ms","method":"POST","requestID":"231cbd80-3dd1-11ef-ab4a-87fddd4f273f","responseTime":8,"status":200,"url":"/devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5440c85f-72e4-4153-b8a5-dd67d8260e35","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9cc1474d-ce9e-413a-bf9d-6f73ca853d30","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515391.846328} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.118863,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5440c85f-72e4-4153-b8a5-dd67d8260e35","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5440c85f-72e4-4153-b8a5-dd67d8260e35","object_type":"device","rebac_allow":false,"scope_allow":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":"231e4420-3dd1-11ef-ab4a-87fddd4f273f"},"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/5440c85f-72e4-4153-b8a5-dd67d8260e35/signaling 200 7ms","method":"POST","requestID":"231e4420-3dd1-11ef-ab4a-87fddd4f273f","responseTime":7,"status":200,"url":"/devices/5440c85f-72e4-4153-b8a5-dd67d8260e35/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5MX0.FQSLYCnbI1agAPQWfjEkOJrUO_a4NcB6NfD36s6axvU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7fb825be4eedc8100842fdb4f926ead6","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/5be9619e-032f-4c7a-ad32-327bd6138509"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.741195,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5be9619e-032f-4c7a-ad32-327bd6138509","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/5be9619e-032f-4c7a-ad32-327bd6138509","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515391,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5MX0.FQSLYCnbI1agAPQWfjEkOJrUO_a4NcB6NfD36s6axvU"} 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":"7fb825be4eedc8100842fdb4f926ead6"},"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/5be9619e-032f-4c7a-ad32-327bd6138509"} experiment-1 | {"level":"info","message":"GET /experiments/5be9619e-032f-4c7a-ad32-327bd6138509 200 14ms","method":"GET","requestID":"7fb825be4eedc8100842fdb4f926ead6","responseTime":14,"status":200,"url":"/experiments/5be9619e-032f-4c7a-ad32-327bd6138509"} gateway-1 | {"time_local":"09/Jul/2024:08:56:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/5be9619e-032f-4c7a-ad32-327bd6138509 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":"7fb825be4eedc8100842fdb4f926ead6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5MX0.FQSLYCnbI1agAPQWfjEkOJrUO_a4NcB6NfD36s6axvU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"801f67fa75917ce0327e98a86d984636","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/5be9619e-032f-4c7a-ad32-327bd6138509"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.68023,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5be9619e-032f-4c7a-ad32-327bd6138509","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/5be9619e-032f-4c7a-ad32-327bd6138509","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515391,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5MX0.FQSLYCnbI1agAPQWfjEkOJrUO_a4NcB6NfD36s6axvU"} 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":"801f67fa75917ce0327e98a86d984636"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5be9619e-032f-4c7a-ad32-327bd6138509"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.307648,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d4107e23-fcd5-4894-a3fe-640f67be6729","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:http://localhost/peerconnections/d4107e23-fcd5-4894-a3fe-640f67be6729","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515391,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5MX0.FQSLYCnbI1agAPQWfjEkOJrUO_a4NcB6NfD36s6axvU"} 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":"23298ec0-3dd1-11ef-ab4a-87fddd4f273f"},"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/d4107e23-fcd5-4894-a3fe-640f67be6729' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/d4107e23-fcd5-4894-a3fe-640f67be6729' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d4107e23-fcd5-4894-a3fe-640f67be6729","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd4107e23-fcd5-4894-a3fe-640f67be6729': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd4107e23-fcd5-4894-a3fe-640f67be6729","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"d31703dc-2f23-4c8c-81e8-c4804ffdcd60","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515391.9396703} 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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3349bf37-8243-409e-8865-8498cf3a9fd9","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515391.9403803} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c6dd3362976690612f20eaddea975b27","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/092a6e1e-a6e9-4629-a127-9b8f31e684fd"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5440c85f-72e4-4153-b8a5-dd67d8260e35"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d4107e23-fcd5-4894-a3fe-640f67be6729"}}},"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":"23298ec0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fa4bc5a011e8b615fa119d343f03e2f4","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5440c85f-72e4-4153-b8a5-dd67d8260e35"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d4107e23-fcd5-4894-a3fe-640f67be6729"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"d4107e23-fcd5-4894-a3fe-640f67be6729","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/d4107e23-fcd5-4894-a3fe-640f67be6729 204 47ms","method":"DELETE","requestID":"23298ec0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":47,"status":204,"url":"/peerconnections/d4107e23-fcd5-4894-a3fe-640f67be6729"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5be9619e-032f-4c7a-ad32-327bd6138509"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:31Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F092a6e1e-a6e9-4629-a127-9b8f31e684fd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8e5827d1-8e29-4269-9aec-5db22e8f8f6e","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515392.0013578} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.824637,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd","object_type":"device","rebac_allow":false,"scope_allow":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":"233575a0-3dd1-11ef-ab4a-87fddd4f273f"},"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/092a6e1e-a6e9-4629-a127-9b8f31e684fd/signaling 200 14ms","method":"POST","requestID":"233575a0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":14,"status":200,"url":"/devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd/signaling"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5be9619e-032f-4c7a-ad32-327bd6138509': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5be9619e-032f-4c7a-ad32-327bd6138509","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"86d3222e-4bfc-4d19-b753-bd7cc86f2a79","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515392.0097332} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6b87dc70-df6c-481a-afbf-5e9d041affe4","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515392.0098896} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} 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":"801f67fa75917ce0327e98a86d984636"},"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:44070","level":"info","msg":"Received request.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:32Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5440c85f-72e4-4153-b8a5-dd67d8260e35","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"525beaea-8c81-4c8c-b8ff-49e05535151c","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515392.0163336} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.626063,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5440c85f-72e4-4153-b8a5-dd67d8260e35","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5440c85f-72e4-4153-b8a5-dd67d8260e35","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"2337e6a0-3dd1-11ef-ab4a-87fddd4f273f"},"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/5440c85f-72e4-4153-b8a5-dd67d8260e35/signaling 200 11ms","method":"POST","requestID":"2337e6a0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":11,"status":200,"url":"/devices/5440c85f-72e4-4153-b8a5-dd67d8260e35/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/5be9619e-032f-4c7a-ad32-327bd6138509"} gateway-1 | {"time_local":"09/Jul/2024:08:56:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/5be9619e-032f-4c7a-ad32-327bd6138509 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.173","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"801f67fa75917ce0327e98a86d984636"} experiment-1 | {"level":"info","message":"DELETE /experiments/5be9619e-032f-4c7a-ad32-327bd6138509 204 170ms","method":"DELETE","requestID":"801f67fa75917ce0327e98a86d984636","responseTime":170,"status":204,"url":"/experiments/5be9619e-032f-4c7a-ad32-327bd6138509"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 130ms","method":"POST","requestID":"c6dd3362976690612f20eaddea975b27","responseTime":130,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:56: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.136","http_referrer":"","http_user_agent":"node-fetch","requestID":"c6dd3362976690612f20eaddea975b27"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 131ms","method":"POST","requestID":"fa4bc5a011e8b615fa119d343f03e2f4","responseTime":131,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5Mn0.7uRY6csgumzDp_XpH4ofLXfXnUSUrvnPfTxgVxVDxyU","level":"info","message":"auth send jwt"} gateway-1 | {"time_local":"09/Jul/2024:08:56: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.138","http_referrer":"","http_user_agent":"node-fetch","requestID":"fa4bc5a011e8b615fa119d343f03e2f4"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9a138cd4bed24f5ce7a061f9f1d9daf8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"09/Jul/2024:08:56:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2646","request_time":"0.597","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1aa1e8ac4123e86e65d3cdf3eab26f8c"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:32Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.111577,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515392,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5Mn0.7uRY6csgumzDp_XpH4ofLXfXnUSUrvnPfTxgVxVDxyU"} 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":"9a138cd4bed24f5ce7a061f9f1d9daf8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} gateway-1 | {"time_local":"09/Jul/2024:08:56:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2646","request_time":"0.615","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"06671fc51596f92d82f6051b244021ca"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/092a6e1e-a6e9-4629-a127-9b8f31e684fd' 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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffd11bfa1-e9d7-44d1-9574-389c49f4c25f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"95f1f322-ef58-4b28-8cc9-fde40a28d816","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515392.096447} 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":"9a138cd4bed24f5ce7a061f9f1d9daf8"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eca2aacc-eaad-4fe2-a44d-503fa7e49276","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515392.1002471} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/5440c85f-72e4-4153-b8a5-dd67d8260e35' closed"} 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":"9a138cd4bed24f5ce7a061f9f1d9daf8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffd11bfa1-e9d7-44d1-9574-389c49f4c25f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"310735bc-5b58-4391-a100-1a32872628e8","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515392.1150942} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d1c8724d-e0d9-4c23-9d20-dbef885516ba","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515392.1154125} 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":"9a138cd4bed24f5ce7a061f9f1d9daf8"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffd11bfa1-e9d7-44d1-9574-389c49f4c25f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffd11bfa1-e9d7-44d1-9574-389c49f4c25f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:32.115069713Z"}]},"request_id":"b3f7adf4-7791-4fb8-9915-04739e1f355f","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515392.118882} 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":"9a138cd4bed24f5ce7a061f9f1d9daf8"},"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":"9a138cd4bed24f5ce7a061f9f1d9daf8","responseTime":42,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"09/Jul/2024:08:56: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.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9a138cd4bed24f5ce7a061f9f1d9daf8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5Mn0.7uRY6csgumzDp_XpH4ofLXfXnUSUrvnPfTxgVxVDxyU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9ae3ebaa3b5a6cd593461dee7b802eb6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:32Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.805628,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515392,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5Mn0.7uRY6csgumzDp_XpH4ofLXfXnUSUrvnPfTxgVxVDxyU"} 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":"9ae3ebaa3b5a6cd593461dee7b802eb6"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34de3153-9566-4659-9bad-70e3c23f4438","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"10a1e212-2c9d-40dc-a116-d4a75607f086","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515392.1437354} 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":"9ae3ebaa3b5a6cd593461dee7b802eb6"},"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:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"53a6f6f2-24f9-4c6f-b351-10139a7a292f","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515392.1479173} 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":"9ae3ebaa3b5a6cd593461dee7b802eb6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34de3153-9566-4659-9bad-70e3c23f4438","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"35f903cf-bc47-4210-991d-b6974503d7e2","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515392.1572707} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b0915a1a-5aea-46a0-a699-30548a7d9959","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515392.1573248} 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":"9ae3ebaa3b5a6cd593461dee7b802eb6"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34de3153-9566-4659-9bad-70e3c23f4438","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34de3153-9566-4659-9bad-70e3c23f4438","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:32.157240920Z"}]},"request_id":"cdcda008-5450-45c5-8e5e-d27645c67a2f","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515392.1611235} 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":"9ae3ebaa3b5a6cd593461dee7b802eb6"},"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":"09/Jul/2024:08:56: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":"9ae3ebaa3b5a6cd593461dee7b802eb6"} device-1 | {"level":"info","message":"POST /devices? 201 36ms","method":"POST","requestID":"9ae3ebaa3b5a6cd593461dee7b802eb6","responseTime":36,"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":"09f7f404c02a601f34a0deb2fcda6869","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"09/Jul/2024:08:56:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/34de3153-9566-4659-9bad-70e3c23f4438/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":"09f7f404c02a601f34a0deb2fcda6869"} device-1 | {"level":"info","message":"OPTIONS /devices/34de3153-9566-4659-9bad-70e3c23f4438/websocket 200 1ms","method":"OPTIONS","requestID":"09f7f404c02a601f34a0deb2fcda6869","responseTime":1,"status":200,"url":"/devices/34de3153-9566-4659-9bad-70e3c23f4438/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5NH0.kAPdhn97VozWSjESYLu2-N7Yo3XTj9OYSdR4Nc_r-ko","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"29e9c490482c943964ff912833967ad3","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:34Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.204981,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:34Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/34de3153-9566-4659-9bad-70e3c23f4438","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/34de3153-9566-4659-9bad-70e3c23f4438","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515394,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5NH0.kAPdhn97VozWSjESYLu2-N7Yo3XTj9OYSdR4Nc_r-ko"} 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":"29e9c490482c943964ff912833967ad3"},"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/34de3153-9566-4659-9bad-70e3c23f4438/websocket 200 21ms","method":"POST","requestID":"29e9c490482c943964ff912833967ad3","responseTime":21,"status":200,"url":"/devices/34de3153-9566-4659-9bad-70e3c23f4438/websocket"} gateway-1 | {"time_local":"09/Jul/2024:08:56:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/34de3153-9566-4659-9bad-70e3c23f4438/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":"29e9c490482c943964ff912833967ad3"} device-1 | {"level":"info","message":"device 'http://localhost/devices/34de3153-9566-4659-9bad-70e3c23f4438' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5NH0.kAPdhn97VozWSjESYLu2-N7Yo3XTj9OYSdR4Nc_r-ko","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f10442d4631d0ce23a9f43a3b83026e1","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:34Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.220513,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/34de3153-9566-4659-9bad-70e3c23f4438","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/34de3153-9566-4659-9bad-70e3c23f4438","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515394,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5NH0.kAPdhn97VozWSjESYLu2-N7Yo3XTj9OYSdR4Nc_r-ko"} 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":"f10442d4631d0ce23a9f43a3b83026e1"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34de3153-9566-4659-9bad-70e3c23f4438","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34de3153-9566-4659-9bad-70e3c23f4438","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:32.157240920Z"}]},"request_id":"054e8d89-7d0f-45ed-8a8c-1c1309956a59","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515394.2415118} 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":"f10442d4631d0ce23a9f43a3b83026e1"},"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":"09/Jul/2024:08:56:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/34de3153-9566-4659-9bad-70e3c23f4438? 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":"f10442d4631d0ce23a9f43a3b83026e1"} device-1 | {"level":"info","message":"GET /devices/34de3153-9566-4659-9bad-70e3c23f4438? 200 16ms","method":"GET","requestID":"f10442d4631d0ce23a9f43a3b83026e1","responseTime":16,"status":200,"url":"/devices/34de3153-9566-4659-9bad-70e3c23f4438?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5NH0.kAPdhn97VozWSjESYLu2-N7Yo3XTj9OYSdR4Nc_r-ko","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"b8daa3a6c05ebee67b786d3708ead3d0","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:44070","level":"info","msg":"Received request.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:34Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.136047,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515394,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5NH0.kAPdhn97VozWSjESYLu2-N7Yo3XTj9OYSdR4Nc_r-ko"} 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":"b8daa3a6c05ebee67b786d3708ead3d0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/055c37da-6985-4f4f-8832-e852775e9f4e"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/055c37da-6985-4f4f-8832-e852775e9f4e"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/055c37da-6985-4f4f-8832-e852775e9f4e"},"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:44070","level":"info","msg":"Received request.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:34Z"} authorization-1 | {"client_addr":"127.0.0.1:50644","level":"info","msg":"Received request.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:34Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.851007,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fd11bfa1-e9d7-44d1-9574-389c49f4c25f","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/fd11bfa1-e9d7-44d1-9574-389c49f4c25f","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515394,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5NH0.kAPdhn97VozWSjESYLu2-N7Yo3XTj9OYSdR4Nc_r-ko"} 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":"249505a0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:50644","level":"info","msg":"Sent response.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.971655,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/34de3153-9566-4659-9bad-70e3c23f4438","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/34de3153-9566-4659-9bad-70e3c23f4438","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515394,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5NH0.kAPdhn97VozWSjESYLu2-N7Yo3XTj9OYSdR4Nc_r-ko"} 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":"249553c0-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffd11bfa1-e9d7-44d1-9574-389c49f4c25f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffd11bfa1-e9d7-44d1-9574-389c49f4c25f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:32.115069713Z"}]},"request_id":"6f130b04-0de7-483b-a82c-273f419a2c34","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515394.307929} 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":"249505a0-3dd1-11ef-ab4a-87fddd4f273f"},"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":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34de3153-9566-4659-9bad-70e3c23f4438","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34de3153-9566-4659-9bad-70e3c23f4438","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:32.157240920Z"}]},"request_id":"63dc4c6f-5b0a-4abc-83e3-dba151a46e31","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515394.3085873} 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":"249553c0-3dd1-11ef-ab4a-87fddd4f273f"},"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/fd11bfa1-e9d7-44d1-9574-389c49f4c25f? 200 17ms","method":"GET","requestID":"249505a0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":17,"status":200,"url":"/devices/fd11bfa1-e9d7-44d1-9574-389c49f4c25f?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/34de3153-9566-4659-9bad-70e3c23f4438? 200 16ms","method":"GET","requestID":"249553c0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":16,"status":200,"url":"/devices/34de3153-9566-4659-9bad-70e3c23f4438?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/055c37da-6985-4f4f-8832-e852775e9f4e"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/055c37da-6985-4f4f-8832-e852775e9f4e"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/055c37da-6985-4f4f-8832-e852775e9f4e"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/055c37da-6985-4f4f-8832-e852775e9f4e"},"level":"info","message":"Attempting to instantiate devices for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:34Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.279607,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:34Z"} authorization-1 | {"action":"instantiate","level":"info","message":"opa_check","object":"device:http://localhost/devices/fd11bfa1-e9d7-44d1-9574-389c49f4c25f","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/fd11bfa1-e9d7-44d1-9574-389c49f4c25f","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515394,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5NH0.kAPdhn97VozWSjESYLu2-N7Yo3XTj9OYSdR4Nc_r-ko"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","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":"249aaaf0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5da7f9a4-9094-4fdb-b503-4ae737f73b73","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"8dfeec3a-03c6-4c0d-9a3b-1027b98d1afb","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515394.3729503} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"083504b4-2ec6-45f0-9203-afa01fa4a4c3","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515394.3729928} 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":"249aaaf0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} device-1 | {"level":"info","message":"registering changed-callback for device 'http://localhost/devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postDevicesByDeviceId succeeded"} authentication-1 | {"level":"info","message":"POST /token 201 22ms","method":"POST","requestID":"24a24c10-3dd1-11ef-90d2-db6b962f1540","responseTime":22,"status":201,"url":"/token"} device-1 | {"level":"info","message":"POST /devices/fd11bfa1-e9d7-44d1-9574-389c49f4c25f?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 79ms","method":"POST","requestID":"249aaaf0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":79,"status":201,"url":"/devices/fd11bfa1-e9d7-44d1-9574-389c49f4c25f?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/055c37da-6985-4f4f-8832-e852775e9f4e"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/055c37da-6985-4f4f-8832-e852775e9f4e"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/055c37da-6985-4f4f-8832-e852775e9f4e"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/055c37da-6985-4f4f-8832-e852775e9f4e"},"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:44070","level":"info","msg":"Received request.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:34Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.154769,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:34Z"} authorization-1 | {"client_addr":"127.0.0.1:50644","level":"info","msg":"Received request.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:34Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/055c37da-6985-4f4f-8832-e852775e9f4e"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515394,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5NH0.kAPdhn97VozWSjESYLu2-N7Yo3XTj9OYSdR4Nc_r-ko"} 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":"24aea820-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:50644","level":"info","msg":"Sent response.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.174978,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/34de3153-9566-4659-9bad-70e3c23f4438","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/34de3153-9566-4659-9bad-70e3c23f4438","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515394,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5NH0.kAPdhn97VozWSjESYLu2-N7Yo3XTj9OYSdR4Nc_r-ko"} 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":"24aef640-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5da7f9a4-9094-4fdb-b503-4ae737f73b73","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5da7f9a4-9094-4fdb-b503-4ae737f73b73","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:34.372910387Z"}]},"request_id":"23798765-bc93-4f31-9c6d-5cef415d6aa8","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515394.4801793} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34de3153-9566-4659-9bad-70e3c23f4438","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34de3153-9566-4659-9bad-70e3c23f4438","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:32.157240920Z"}]},"request_id":"1e7f1ded-48fd-4fdf-bde0-32ce1bab85a9","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515394.4827409} 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":"24aea820-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:50660","level":"info","msg":"Received request.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:34Z"} 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":"24aef640-3dd1-11ef-ab4a-87fddd4f273f"},"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:50660","level":"info","msg":"Sent response.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.571557,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:34Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5da7f9a4-9094-4fdb-b503-4ae737f73b73","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"da94d6a3-dfd5-4351-8ec0-6a26478221eb","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515394.4855983} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"GET /devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73? 200 24ms","method":"GET","requestID":"24aea820-3dd1-11ef-ab4a-87fddd4f273f","responseTime":24,"status":200,"url":"/devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /authorize 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"24af1d50-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":17}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F055c37da-6985-4f4f-8832-e852775e9f4e#owner@http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F055c37da-6985-4f4f-8832-e852775e9f4e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"3e6e044b-1e3f-4214-bef7-0226f5ce85e7","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515394.4898634} device-1 | {"level":"info","message":"GET /devices/34de3153-9566-4659-9bad-70e3c23f4438? 200 23ms","method":"GET","requestID":"24aef640-3dd1-11ef-ab4a-87fddd4f273f","responseTime":23,"status":200,"url":"/devices/34de3153-9566-4659-9bad-70e3c23f4438?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f28ebc23-40de-4cbd-bfcc-4e26ec9b3173","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515394.4902422} 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":"b8daa3a6c05ebee67b786d3708ead3d0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} device-1 | {"data":{"error":"MissingEntityError","message":"Could not find websocket connection for device 5da7f9a4-9094-4fdb-b503-4ae737f73b73","method":"POST","stack":"MissingEntityError: Could not find websocket connection for device 5da7f9a4-9094-4fdb-b503-4ae737f73b73\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/5da7f9a4-9094-4fdb-b503-4ae737f73b73/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"24af1d50-3dd1-11ef-ab4a-87fddd4f273f"} device-1 | {"level":"info","message":"POST /devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73/signaling 404 26ms","method":"POST","requestID":"24af1d50-3dd1-11ef-ab4a-87fddd4f273f","responseTime":26,"status":404,"url":"/devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73/signaling"} experiment-1 | {"data":{"response":{"body":{"error":"MissingEntityError","message":"Could not find websocket connection for device 5da7f9a4-9094-4fdb-b503-4ae737f73b73"},"status":404}},"level":"error","message":"Could not send status-update message"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:34Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/055c37da-6985-4f4f-8832-e852775e9f4e","user":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"09/Jul/2024:08:56: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.256","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b8daa3a6c05ebee67b786d3708ead3d0"} experiment-1 | {"level":"info","message":"POST /experiments? 201 249ms","method":"POST","requestID":"b8daa3a6c05ebee67b786d3708ead3d0","responseTime":249,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34de3153-9566-4659-9bad-70e3c23f4438","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5c0fe515-650e-4ba9-8d10-5be690363a9a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515394.5072286} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.42938,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/34de3153-9566-4659-9bad-70e3c23f4438","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/34de3153-9566-4659-9bad-70e3c23f4438","object_type":"device","rebac_allow":false,"scope_allow":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":"24b3d840-3dd1-11ef-ab4a-87fddd4f273f"},"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/34de3153-9566-4659-9bad-70e3c23f4438/signaling 200 12ms","method":"POST","requestID":"24b3d840-3dd1-11ef-ab4a-87fddd4f273f","responseTime":12,"status":200,"url":"/devices/34de3153-9566-4659-9bad-70e3c23f4438/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 2ms","method":"GET","requestID":"4d22389cc36bc69106e3d785a6bc1b05","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"09/Jul/2024:08:56:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73/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":"4d22389cc36bc69106e3d785a6bc1b05"} device-1 | {"level":"info","message":"OPTIONS /devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73/websocket 200 2ms","method":"OPTIONS","requestID":"4d22389cc36bc69106e3d785a6bc1b05","responseTime":2,"status":200,"url":"/devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IlFRRDNVdThjbVhXT1o2VE9hS2QxMHlaTUgwVkY4SFI3ZjFkbmpVTEF4emdYZUVLODVVV19EYXNTMm9ULXZOOTR2Q1JrUlBWckUzVDBHYkdPdE5MMllBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5Nn0.LD4J_UeG3tRyi_OhpIX5DkWhwr6k1_bHQ8Af7jsx6Ec","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8756c1c9a2737e3504be76957189bf47","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:36Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.268112,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73","object_type":"device","payload":{"admin":true,"edgeToken":"QQD3Uu8cmXWOZ6TOaKd10yZMH0VF8HR7f1dnjULAxzgXeEK85UW_DasS2oT-vN94vCRkRPVrE3T0GbGOtNL2YA","iat":1720515396,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IlFRRDNVdThjbVhXT1o2VE9hS2QxMHlaTUgwVkY4SFI3ZjFkbmpVTEF4emdYZUVLODVVV19EYXNTMm9ULXZOOTR2Q1JrUlBWckUzVDBHYkdPdE5MMllBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5Nn0.LD4J_UeG3tRyi_OhpIX5DkWhwr6k1_bHQ8Af7jsx6Ec"} 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":"8756c1c9a2737e3504be76957189bf47"},"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":"09/Jul/2024:08:56:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73/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":"8756c1c9a2737e3504be76957189bf47"} device-1 | {"level":"info","message":"POST /devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73/websocket 200 21ms","method":"POST","requestID":"8756c1c9a2737e3504be76957189bf47","responseTime":21,"status":200,"url":"/devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73/websocket"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73' 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":"defd37eb2df717b37039bff71a8ba846","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/5da7f9a4-9094-4fdb-b503-4ae737f73b73"},"eventType":"device-changed"}},"level":"info","message":"received a callback"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5Nn0.o5vP4W-1vggYIVZ-S3E4msLdbxgf1VYKaFXVgFWt5y0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"97982c51863c7636d9bf521b18b55c31","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:36Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.282861,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515396,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5Nn0.o5vP4W-1vggYIVZ-S3E4msLdbxgf1VYKaFXVgFWt5y0"} 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":"97982c51863c7636d9bf521b18b55c31"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5da7f9a4-9094-4fdb-b503-4ae737f73b73","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5da7f9a4-9094-4fdb-b503-4ae737f73b73","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:34.372910387Z"}]},"request_id":"9fa5a8f5-66a4-48ca-9cd5-2ab8c195bde3","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515396.5760972} 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":"97982c51863c7636d9bf521b18b55c31"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 22ms","method":"POST","requestID":"defd37eb2df717b37039bff71a8ba846","responseTime":22,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"09/Jul/2024:08:56: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.026","http_referrer":"","http_user_agent":"node-fetch","requestID":"defd37eb2df717b37039bff71a8ba846"} gateway-1 | {"time_local":"09/Jul/2024:08:56:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73? 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":"97982c51863c7636d9bf521b18b55c31"} device-1 | {"level":"info","message":"GET /devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73? 200 18ms","method":"GET","requestID":"97982c51863c7636d9bf521b18b55c31","responseTime":18,"status":200,"url":"/devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5Nn0.o5vP4W-1vggYIVZ-S3E4msLdbxgf1VYKaFXVgFWt5y0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c4dbc1349e78e2012b475bc3af5e6aab","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:36Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.988828,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/34de3153-9566-4659-9bad-70e3c23f4438","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/34de3153-9566-4659-9bad-70e3c23f4438","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515396,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5Nn0.o5vP4W-1vggYIVZ-S3E4msLdbxgf1VYKaFXVgFWt5y0"} 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":"c4dbc1349e78e2012b475bc3af5e6aab"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34de3153-9566-4659-9bad-70e3c23f4438","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34de3153-9566-4659-9bad-70e3c23f4438","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:32.157240920Z"}]},"request_id":"0bb3f679-3c9a-41d1-a557-af1a4a263d7b","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515396.600087} 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":"c4dbc1349e78e2012b475bc3af5e6aab"},"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":"09/Jul/2024:08:56:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/34de3153-9566-4659-9bad-70e3c23f4438? 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":"c4dbc1349e78e2012b475bc3af5e6aab"} device-1 | {"level":"info","message":"GET /devices/34de3153-9566-4659-9bad-70e3c23f4438? 200 18ms","method":"GET","requestID":"c4dbc1349e78e2012b475bc3af5e6aab","responseTime":18,"status":200,"url":"/devices/34de3153-9566-4659-9bad-70e3c23f4438?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:39Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.853617,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515394,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5NH0.kAPdhn97VozWSjESYLu2-N7Yo3XTj9OYSdR4Nc_r-ko"} 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":"27ae0570-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:50664","level":"info","msg":"Received request.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:39Z"} authorization-1 | {"client_addr":"127.0.0.1:50664","level":"info","msg":"Sent response.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.031915,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/34de3153-9566-4659-9bad-70e3c23f4438","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/34de3153-9566-4659-9bad-70e3c23f4438","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515394,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5NH0.kAPdhn97VozWSjESYLu2-N7Yo3XTj9OYSdR4Nc_r-ko"} 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":"27ae5390-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5da7f9a4-9094-4fdb-b503-4ae737f73b73","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5da7f9a4-9094-4fdb-b503-4ae737f73b73","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:34.372910387Z"}]},"request_id":"3d31e7a4-30b5-42a5-a3f6-e36281614396","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515399.5093844} 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":"27ae0570-3dd1-11ef-ab4a-87fddd4f273f"},"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:35002","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34de3153-9566-4659-9bad-70e3c23f4438","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34de3153-9566-4659-9bad-70e3c23f4438","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"},"timestamp":"2024-07-09T08:56:32.157240920Z"}]},"request_id":"50c5a8f1-48f5-430f-ab80-9d0dfcee3977","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515399.5147133} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73? 200 21ms","method":"GET","requestID":"27ae0570-3dd1-11ef-ab4a-87fddd4f273f","responseTime":21,"status":200,"url":"/devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73?"} 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":"27ae5390-3dd1-11ef-ab4a-87fddd4f273f"},"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/34de3153-9566-4659-9bad-70e3c23f4438? 200 25ms","method":"GET","requestID":"27ae5390-3dd1-11ef-ab4a-87fddd4f273f","responseTime":25,"status":200,"url":"/devices/34de3153-9566-4659-9bad-70e3c23f4438?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:39Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5da7f9a4-9094-4fdb-b503-4ae737f73b73","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3848ec8e-9fc7-4bbb-b2e6-508fdbeb33de","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515399.531281} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.382478,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73","object_type":"device","rebac_allow":false,"scope_allow":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":"27b27240-3dd1-11ef-ab4a-87fddd4f273f"},"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/5da7f9a4-9094-4fdb-b503-4ae737f73b73/signaling 200 14ms","method":"POST","requestID":"27b27240-3dd1-11ef-ab4a-87fddd4f273f","responseTime":14,"status":200,"url":"/devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:39Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34de3153-9566-4659-9bad-70e3c23f4438","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"998548c3-2250-4296-a5c4-ddce4fb6ebe7","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515399.5492523} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.09397,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/34de3153-9566-4659-9bad-70e3c23f4438","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/34de3153-9566-4659-9bad-70e3c23f4438","object_type":"device","rebac_allow":false,"scope_allow":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":"27b53160-3dd1-11ef-ab4a-87fddd4f273f"},"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/34de3153-9566-4659-9bad-70e3c23f4438/signaling 200 13ms","method":"POST","requestID":"27b53160-3dd1-11ef-ab4a-87fddd4f273f","responseTime":13,"status":200,"url":"/devices/34de3153-9566-4659-9bad-70e3c23f4438/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/055c37da-6985-4f4f-8832-e852775e9f4e"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/055c37da-6985-4f4f-8832-e852775e9f4e"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"aebd6b39-2c2b-4b0f-a7d5-009628458b95"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"4256e8cb-5249-447e-9bbf-d2c20328720e"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"4c424912-00a8-4fbc-9938-eef46fe4b72c"}]},"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/5da7f9a4-9094-4fdb-b503-4ae737f73b73"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/34de3153-9566-4659-9bad-70e3c23f4438"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:39Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.20008,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515394,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5NH0.kAPdhn97VozWSjESYLu2-N7Yo3XTj9OYSdR4Nc_r-ko"} 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":"27b7c970-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","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%2F417a528b-082c-457e-a19c-24c88dbf5db2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]}},"raw_response":{},"request_id":"68768376-838f-4f88-804f-9d273c36caef","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515399.5771525} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4b8fb227-eb2b-4aac-bbad-a72094871468","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515399.577464} 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":"27b7c970-3dd1-11ef-ab4a-87fddd4f273f"},"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/fec520f7-de25-4529-ab83-249222d271f0'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/fec520f7-de25-4529-ab83-249222d271f0'"} 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":"27b7c970-3dd1-11ef-ab4a-87fddd4f273f","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/055c37da-6985-4f4f-8832-e852775e9f4e"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:39Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5da7f9a4-9094-4fdb-b503-4ae737f73b73","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"be76d8f4-dc9f-4d93-8b70-e86a20bd560c","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515399.630342} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.113825,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"27c1db90-3dd1-11ef-ab4a-87fddd4f273f"},"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/5da7f9a4-9094-4fdb-b503-4ae737f73b73/signaling 200 9ms","method":"POST","requestID":"27c1db90-3dd1-11ef-ab4a-87fddd4f273f","responseTime":9,"status":200,"url":"/devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:39Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34de3153-9566-4659-9bad-70e3c23f4438","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a993a9ee-64b3-4ca1-8b43-fb369189d51e","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515399.6399958} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.523334,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/34de3153-9566-4659-9bad-70e3c23f4438","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/34de3153-9566-4659-9bad-70e3c23f4438","object_type":"device","rebac_allow":false,"scope_allow":true,"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":"27c36230-3dd1-11ef-ab4a-87fddd4f273f"},"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/34de3153-9566-4659-9bad-70e3c23f4438/signaling 200 9ms","method":"POST","requestID":"27c36230-3dd1-11ef-ab4a-87fddd4f273f","responseTime":9,"status":200,"url":"/devices/34de3153-9566-4659-9bad-70e3c23f4438/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/34de3153-9566-4659-9bad-70e3c23f4438'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/fec520f7-de25-4529-ab83-249222d271f0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"fec520f7-de25-4529-ab83-249222d271f0","statusDeviceA":"new","statusDeviceB":"connecting"},"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":"fcc8a3a61fe3d0d99e02d5bc4f33aa4c","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/34de3153-9566-4659-9bad-70e3c23f4438"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/fec520f7-de25-4529-ab83-249222d271f0"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"fcc8a3a61fe3d0d99e02d5bc4f33aa4c","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:56: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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"fcc8a3a61fe3d0d99e02d5bc4f33aa4c"} device-1 | {"data":{"peerconnection":"fec520f7-de25-4529-ab83-249222d271f0","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"fec520f7-de25-4529-ab83-249222d271f0","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/fec520f7-de25-4529-ab83-249222d271f0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"fec520f7-de25-4529-ab83-249222d271f0","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":"c0fd3b8a29fe4d62a2758466d76d90c7","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/34de3153-9566-4659-9bad-70e3c23f4438"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/fec520f7-de25-4529-ab83-249222d271f0"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:39Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffec520f7-de25-4529-ab83-249222d271f0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0761f8f4-5ee5-46dd-a380-12c9a57e9a94","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515399.714568} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.19745,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/fec520f7-de25-4529-ab83-249222d271f0","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/fec520f7-de25-4529-ab83-249222d271f0","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":"27ced3e0-3dd1-11ef-ab4a-87fddd4f273f"},"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/fec520f7-de25-4529-ab83-249222d271f0 200 8ms","method":"GET","requestID":"27ced3e0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":8,"status":200,"url":"/peerconnections/fec520f7-de25-4529-ab83-249222d271f0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 29ms","method":"POST","requestID":"c0fd3b8a29fe4d62a2758466d76d90c7","responseTime":29,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:56: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.031","http_referrer":"","http_user_agent":"node-fetch","requestID":"c0fd3b8a29fe4d62a2758466d76d90c7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:39Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5da7f9a4-9094-4fdb-b503-4ae737f73b73","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fb56117b-ae31-416d-a896-fda840a38bce","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515399.7396672} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.048898,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"27d2a470-3dd1-11ef-ab4a-87fddd4f273f"},"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/5da7f9a4-9094-4fdb-b503-4ae737f73b73/signaling 200 8ms","method":"POST","requestID":"27d2a470-3dd1-11ef-ab4a-87fddd4f273f","responseTime":8,"status":200,"url":"/devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:39Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34de3153-9566-4659-9bad-70e3c23f4438","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c72a950e-6ca4-45bb-add4-e8acfb8c0c93","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515399.7488523} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.113029,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/34de3153-9566-4659-9bad-70e3c23f4438","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/34de3153-9566-4659-9bad-70e3c23f4438","object_type":"device","rebac_allow":false,"scope_allow":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":"27d42b10-3dd1-11ef-ab4a-87fddd4f273f"},"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/34de3153-9566-4659-9bad-70e3c23f4438/signaling 200 7ms","method":"POST","requestID":"27d42b10-3dd1-11ef-ab4a-87fddd4f273f","responseTime":7,"status":200,"url":"/devices/34de3153-9566-4659-9bad-70e3c23f4438/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5OX0.2qgCVcTQ9SKvslWRU82DMZpglls8660r8SEB4hufcPU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0e6f936badaeea6d6b5f8421ff471aad","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/055c37da-6985-4f4f-8832-e852775e9f4e"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:39Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.911467,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/055c37da-6985-4f4f-8832-e852775e9f4e","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/055c37da-6985-4f4f-8832-e852775e9f4e","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515399,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5OX0.2qgCVcTQ9SKvslWRU82DMZpglls8660r8SEB4hufcPU"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","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":"0e6f936badaeea6d6b5f8421ff471aad"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/055c37da-6985-4f4f-8832-e852775e9f4e"} gateway-1 | {"time_local":"09/Jul/2024:08:56:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/055c37da-6985-4f4f-8832-e852775e9f4e HTTP/1.1","status": "200","body_bytes_sent":"1180","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0e6f936badaeea6d6b5f8421ff471aad"} experiment-1 | {"level":"info","message":"GET /experiments/055c37da-6985-4f4f-8832-e852775e9f4e 200 10ms","method":"GET","requestID":"0e6f936badaeea6d6b5f8421ff471aad","responseTime":10,"status":200,"url":"/experiments/055c37da-6985-4f4f-8832-e852775e9f4e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5OX0.2qgCVcTQ9SKvslWRU82DMZpglls8660r8SEB4hufcPU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"fe7624be9f7537d4d8cb629c807c14ea","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/055c37da-6985-4f4f-8832-e852775e9f4e"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:39Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.662768,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:39Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/055c37da-6985-4f4f-8832-e852775e9f4e","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"experiment:http://localhost/experiments/055c37da-6985-4f4f-8832-e852775e9f4e","object_type":"experiment","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515399,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5OX0.2qgCVcTQ9SKvslWRU82DMZpglls8660r8SEB4hufcPU"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","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":"fe7624be9f7537d4d8cb629c807c14ea"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/055c37da-6985-4f4f-8832-e852775e9f4e"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:39Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.261888,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:39Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/fec520f7-de25-4529-ab83-249222d271f0","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"peerconnection:http://localhost/peerconnections/fec520f7-de25-4529-ab83-249222d271f0","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515399,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5OX0.2qgCVcTQ9SKvslWRU82DMZpglls8660r8SEB4hufcPU"} 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":"27df9cc0-3dd1-11ef-ab4a-87fddd4f273f"},"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/fec520f7-de25-4529-ab83-249222d271f0' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/fec520f7-de25-4529-ab83-249222d271f0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"fec520f7-de25-4529-ab83-249222d271f0","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffec520f7-de25-4529-ab83-249222d271f0': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffec520f7-de25-4529-ab83-249222d271f0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"611ff4a9-2c09-44ee-9042-a12ab9144fc2","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515399.8409028} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e2a738f3-f4a4-4faa-a987-048763564c52","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515399.841485} 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":"27df9cc0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} 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":"2e74813cd3a5d585672a2e90264fe1c4","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/5da7f9a4-9094-4fdb-b503-4ae737f73b73"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/34de3153-9566-4659-9bad-70e3c23f4438"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/fec520f7-de25-4529-ab83-249222d271f0"}}},"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":"e911f90f7e38af7a94b172933423e3a3","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} 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/5da7f9a4-9094-4fdb-b503-4ae737f73b73"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/34de3153-9566-4659-9bad-70e3c23f4438"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/fec520f7-de25-4529-ab83-249222d271f0"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"DELETE /peerconnections/fec520f7-de25-4529-ab83-249222d271f0 204 31ms","method":"DELETE","requestID":"27df9cc0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":31,"status":204,"url":"/peerconnections/fec520f7-de25-4529-ab83-249222d271f0"} device-1 | {"level":"info","message":"deleteDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:39Z"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.452684,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:39Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"device:http://localhost/devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2","object":"device:http://localhost/devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73","object_type":"device","payload":{"admin":true,"edgeToken":"DI7CWfqkKbxYOQpGPFkueCJDfr84tpz496LyAbdeuciYWs1Awmyz8COONAhgsc7m8IOWMykLWJATmNUrzZVRkA","iat":1720515399,"sub":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2","subject_alt":"http://localhost/users/417a528b-082c-457e-a19c-24c88dbf5db2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzQxN2E1MjhiLTA4MmMtNDU3ZS1hMTljLTI0Yzg4ZGJmNWRiMiIsImVkZ2VUb2tlbiI6IkRJN0NXZnFrS2J4WU9RcEdQRmt1ZUNKRGZyODR0cHo0OTZMeUFiZGV1Y2lZV3MxQXdteXo4Q09PTkFoZ3NjN204SU9XTXlrTFdKQVRtTlVyelpWUmtBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDUxNTM5OX0.2qgCVcTQ9SKvslWRU82DMZpglls8660r8SEB4hufcPU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","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":"27e4a5d0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/34de3153-9566-4659-9bad-70e3c23f4438'"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'device:http%3A%2F%2Flocalhost%2Fdevices%2F5da7f9a4-9094-4fdb-b503-4ae737f73b73': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5da7f9a4-9094-4fdb-b503-4ae737f73b73","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"569e0826-87bf-4db1-ba4d-432d97544b5a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515399.8727493} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"914de9e8-2ef7-420c-9786-1f5d1597699e","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515399.874438} 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":"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":"27e4a5d0-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} device-1 | {"level":"info","message":"deleteDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"DELETE /devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73 204 35ms","method":"DELETE","requestID":"27e4a5d0-3dd1-11ef-ab4a-87fddd4f273f","responseTime":35,"status":204,"url":"/devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/055c37da-6985-4f4f-8832-e852775e9f4e"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Received request.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:39Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5da7f9a4-9094-4fdb-b503-4ae737f73b73","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a3282c8d-1140-4b68-b74b-98f32a3bfd53","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515399.917148} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.862663,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73","object_type":"device","rebac_allow":false,"scope_allow":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":"27ed5860-3dd1-11ef-ab4a-87fddd4f273f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} 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/5da7f9a4-9094-4fdb-b503-4ae737f73b73/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"27ed5860-3dd1-11ef-ab4a-87fddd4f273f"} device-1 | {"level":"info","message":"POST /devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73/signaling 404 13ms","method":"POST","requestID":"27ed5860-3dd1-11ef-ab4a-87fddd4f273f","responseTime":13,"status":404,"url":"/devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73/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"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F055c37da-6985-4f4f-8832-e852775e9f4e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F055c37da-6985-4f4f-8832-e852775e9f4e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F417a528b-082c-457e-a19c-24c88dbf5db2"}]},"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","writes":null},"raw_response":{},"request_id":"0d2a2111-56b9-4dcb-9482-20fbd4d29e2e","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515399.9243047} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"id":"01J2BB7A06FFZ8K3PQF6133F83","store_id":"01J2BB79YWFAF7EEQRGKQX73XT"},"raw_response":{"authorization_model":{"id":"01J2BB7A06FFZ8K3PQF6133F83","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"749508ae-e2bd-4770-8394-f1990e7cd77a","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515399.924599} 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":"fe7624be9f7537d4d8cb629c807c14ea"},"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:44070","level":"info","msg":"Received request.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-09T08:56:39Z"} authorization-1 | {"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:35002","raw_request":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","contextual_tuples":null,"store_id":"01J2BB79YWFAF7EEQRGKQX73XT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34de3153-9566-4659-9bad-70e3c23f4438","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c1a72889-ebbc-40a1-95fd-5cf56a1fd8b4","store_id":"01J2BB79YWFAF7EEQRGKQX73XT","subsystem":"openfga","timestamp":1720515399.9321413} authorization-1 | {"client_addr":"127.0.0.1:44070","level":"info","msg":"Sent response.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.848787,"resp_status":200,"subsystem":"opa","time":"2024-07-09T08:56:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/34de3153-9566-4659-9bad-70e3c23f4438","openfga":{"authorization_model_id":"01J2BB7A06FFZ8K3PQF6133F83","store":"01J2BB79YWFAF7EEQRGKQX73XT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/34de3153-9566-4659-9bad-70e3c23f4438","object_type":"device","rebac_allow":false,"scope_allow":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":"27efc960-3dd1-11ef-ab4a-87fddd4f273f"},"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/34de3153-9566-4659-9bad-70e3c23f4438/signaling 200 12ms","method":"POST","requestID":"27efc960-3dd1-11ef-ab4a-87fddd4f273f","responseTime":12,"status":200,"url":"/devices/34de3153-9566-4659-9bad-70e3c23f4438/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/055c37da-6985-4f4f-8832-e852775e9f4e"} gateway-1 | {"time_local":"09/Jul/2024:08:56:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/055c37da-6985-4f4f-8832-e852775e9f4e HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.190","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fe7624be9f7537d4d8cb629c807c14ea"} experiment-1 | {"level":"info","message":"DELETE /experiments/055c37da-6985-4f4f-8832-e852775e9f4e 204 185ms","method":"DELETE","requestID":"fe7624be9f7537d4d8cb629c807c14ea","responseTime":185,"status":204,"url":"/experiments/055c37da-6985-4f4f-8832-e852775e9f4e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 150ms","method":"POST","requestID":"2e74813cd3a5d585672a2e90264fe1c4","responseTime":150,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:56: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.153","http_referrer":"","http_user_agent":"node-fetch","requestID":"2e74813cd3a5d585672a2e90264fe1c4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 147ms","method":"POST","requestID":"e911f90f7e38af7a94b172933423e3a3","responseTime":147,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:56: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.151","http_referrer":"","http_user_agent":"node-fetch","requestID":"e911f90f7e38af7a94b172933423e3a3"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/34de3153-9566-4659-9bad-70e3c23f4438' closed"} gateway-1 | {"time_local":"09/Jul/2024:08:56:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2646","request_time":"5.795","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5d89a006281e14f72b2cea57e8ea4d01"} gateway-1 | {"time_local":"09/Jul/2024:08:56:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2406","request_time":"3.464","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3211e798783aa21815e786a03ae86e6a"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/5da7f9a4-9094-4fdb-b503-4ae737f73b73' 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":"10d3cf561061e25971c8bb58e9680aca","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/5da7f9a4-9094-4fdb-b503-4ae737f73b73"},"eventType":"device-changed"}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 410 2ms","method":"POST","requestID":"10d3cf561061e25971c8bb58e9680aca","responseTime":2,"status":410,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"09/Jul/2024:08:56: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":"10d3cf561061e25971c8bb58e9680aca"} federation-1 exited with code 0 experiment-1 exited with code 0 authentication-1 exited with code 0 authorization-1 exited with code 0 device-1 exited with code 0 gateway-1 exited with code 0